如何翻译C语言编程的多项式不带指数的运营商?

问题描述 投票:0回答:4

我一直在寻找我的C教科书和内部有一个页面,提示告诉我翻译的多项式为C代码。我们还没有讨论指数运营商却并特别指示不要在这一点上使用它们,寻求与基础运营商的另一种方式。多项式去这样:5x^(2)+3x-2

我该怎么做呢?

c operators polynomial-math
4个回答
3
投票

目前在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这一点。


5
投票

需要注意的是c可以写成

x

这可以很容易地扩展到多项式的任何命令。


1
投票

我想你应该参数第二多项式函数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的


1
投票

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

此方法适用于任何程度的多项式工作。

© www.soinside.com 2019 - 2024. All rights reserved.