我一直在寻找我的C教科书和内部有一个页面,提示告诉我翻译的多项式为C代码。我们还没有讨论指数运营商却并特别指示不要在这一点上使用它们,寻求与基础运营商的另一种方式。多项式去这样:5x^(2)+3x-2
。
我该怎么做呢?
目前在C.一个exponent operator
没有这样的事情虽然你可以使用pow()
完成同样的事情。我怀疑你的书并不想这样做。鉴于这种限制,你可以做x^2
的操作简单x * x
其中x
是你的函数的变量。
即你可以做这样的事情:
int poly(int x) {
int y = ((5 * x * x) + (3 * x) - 2);
return y;
}
附录:
如果你想有一个通式,你可以轻松地扩展任何多项式度,你可以用这个公式代替,与qazxsw POI,qazxsw POI,qazxsw POI和a
输入:
b
由于chux和FredK这一点。
需要注意的是c
可以写成
x
这可以很容易地扩展到多项式的任何命令。
我想你应该参数第二多项式函数A,B,C和X
int poly(int a, int b, int c, int x) {
int y = c + x*(b + x*(a));
return y;
}
使用此功能为你的情况时,你可以调用
ax^2 + bx + c
用一组特定的A,B,C,X的
C没有一个指数运算符。
模型多项式的一种非常方便的方法是使用一个数组来存储的系数,使得数组索引对应于c + x*(b + x*(a))
的力量。 IOW,模型int poly2(int a, int b, int c, int x)
{
int y = a*x*x+b*x+c;
return y;
}
,使用
int result = poly2(a,b,c, x)
为了评估多项式,使用一个循环,考虑到FredK提到了他的答案物业 - x
:
5x2 + 3x - 2
此方法适用于任何程度的多项式工作。