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

本文关键字:程序 什么 错误 非常 SharpDevelop 我在 简单 | 更新日期: 2023-09-27 18:26:50

我只是一个初学者,我在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);
}

它应该只计算圆周率,但它只返回很多1。。。SharpDevelop没有报告任何"错误"。

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

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

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

pi += (float)Math.Pow(-1f, n) / (2*n+1);

顺便说一下,^运算符不是幂运算。