包含数学表达式的循环

时间:2019-01-31 01:24:51

标签: c# for-loop math-functions

我正在尝试利用c#中的Math.Cos()函数来打印从0到2pi的一系列值,这些值增加0.1pi,因此进行20次迭代。问题是在执行for循环时,我无法更改x值。

    public void Cos()
    {
        double x = 0;
        double a = Math.PI * x;
        double b = Math.Cos(a);

        for (int i = 0; i < 21; i++)
        {

            Console.WriteLine("Cos({0})pi = {1}", x, b);
            x += .1;

        }
    }

当我将结果打印到控制台时,它只记住x = 0时的cos值。因此,对于Cos(.1)pi,Cos(.2)pi,等等...

1 个答案:

答案 0 :(得分:4)

  

我正在尝试利用c#中的Math.Cos()函数来打印从0PI到2PI的一系列值,这些值会增加.1PI

这听起来像是for循环的工作,我们从0的值开始,并在每次迭代中增加.1 * PI,直到达到2 * PI

由于for循环具有初始化程序部分,条件部分和递增部分,因此它是理想的构造。不需要从0到20递增的额外变量-我们可以使用for循环来递增x并测试退出条件!

public static void Cos()
{
    for (double x = 0; x <= Math.PI * 2; x += Math.PI * .1)
    {
        Console.WriteLine("Cos({0})PI = {1}", x, Math.Cos(x));
    }
}