我创建了一个创建多项式的程序。但是,我无法以正确的方式显示指数。
例如,如果我在我的数组中输入[1,2,3]来创建我的多项式,我会得到多项式:1 + 2x + 3x ^(2)。我想要回来的是:1x ^(2)+ 2x + 3.请注意,我的数组中的数字仍然是相同的顺序。唯一改变的是指数和权力从左侧开始变化(最高程度从左侧开始)。我需要帮助做这一部分。
以下是我对其进行排序的循环代码:
\
提前致谢!
答案 0 :(得分:1)
只需启动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");
}
答案 1 :(得分:0)
更改此部分
if (i != 0)
{
Console.Write("x^" + i);
}
到此
if ((n - 1 - i) != 0)
{
Console.Write("x^" + (n - 1 - i));
}
因为功率应该从循环结束开始(如反向循环)。但是你从头到尾迭代(正常循环)。因此,从i
中减去计数器(n - 1
)。
如果你仍然不明白,那么看看这里。第一行是计数器循环,应该从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