我在SharpDevelop这个非常简单的程序中犯了什么错误?

use*_*746 1 c# sharpdevelop c#-4.0

我只是一个初学者,我在SharpDevelop(C#)上创建了一个非常简单的程序,但它不起作用.

这里是:

public static void Main(string[] args)
{
    float pi;
    int n;
    pi=1;

    for(n=1; n<1000; n++)
    {
        pi=pi+((-1)^n)/(2*n+1);

        Console.WriteLine(""+pi);
    }

    Console.ReadKey(true);
}
Run Code Online (Sandbox Code Playgroud)

它应该只计算pi,但它只返回很多1s而不是...... SharpDevelop不会报告任何"错误".

有人能指出我犯了什么错误吗?

Dmi*_*try 5

这是因为您使用的是整数运算,因此每次将表达式((-1)^n)/(2*n+1)舍入到0.
尝试pi使用以下行替换您的计算:

pi += (float)Math.Pow(-1f, n) / (2*n+1);
Run Code Online (Sandbox Code Playgroud)

顺便说一下,^运算符不是指数运算.