包含数学表达式的 For 循环

For loop with a mathemtical expression involved

我正在尝试利用 c# 中的 Math.Cos() 函数来打印从 0 到 2pi 的值范围,增加 .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 值。所以我只得到 1、20 次作为 Cos(.1)pi、Cos(.2) 的结果圆周率等...

I am trying to utilize the Math.Cos() function in c# to print a range of of values from 0 to 2PI increasing by .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));
    }
}