我需要帮助创建/改进for循环

本文关键字:改进 for 循环 创建 帮助 | 更新日期: 2023-09-27 18:25:00

我创建了一个程序来创建多项式。但是,我无法以正确的方式显示指数。

例如,如果我在数组中输入[1,2,3]来创建多项式,我会得到多项式:1+2x+3x^(2)。我想要得到的是:1x^(2)+2x+3。请注意,数组中的数字仍然按相同的顺序排列。唯一改变的是指数和幂从左边开始(最高阶从左边开始)。这部分我需要帮助。

这是我对它进行排序的循环的代码:

''

提前感谢!

我需要帮助创建/改进for循环

只需将i初始化为n-1,并在每次迭代中减去

public void printPoly1(int[] poly, int n)
{
    for (int i = n-1; i  >= 0; i--)
    {
        Console.Write(poly[i]);
        if (i != 0)
        {
            Console.Write("x^" + i + " + ");
        }
    }
    Console.WriteLine("'n");
}

如果零件,则更改此项

if (i != 0)
{
    Console.Write("x^" + i);
}

到此

if ((n - 1 - i) != 0)
{
    Console.Write("x^" + (n - 1 - i));
}

因为功率应该从循环结束开始(就像反向循环一样)。但是您从开始到结束都在迭代(正常循环)。所以从n - 1减去计数器(i)。

如果你还不明白,那就看看这里。第一行是循环中的计数器,应该从0到6开始。

0    1    2    3    4    5    6    // normal
6-0  6-1  6-2  6-3  6-4  6-5  6-6  // do subtract
6    5    4     3    2    1    0   // inverse