多项式求值 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ i=0 n (a[i]×x i ) 在x点的值。

例子:求 1 + 2X + 3X的平方

分解为 :1 + X*( 2 + X *  (3 ))   无论有几阶,类似这样分解。

计算过程,初始为0 ,*X ,+最高阶系数, 得到的值循环,* X, +次高阶系数,如此往复

#include

#define MAXN 10

double f( int n, double a[], double x );

int main()
{
    int n, i;
    double a[MAXN], x;
    
    scanf("%d %lf", &n, &x);
    for ( i=0; i<=n; i++ )
        scanf("%lf", &a[i]);
    printf("%.1f\n", f(n, a, x));
    return 0;
}

/* 你的代码将被嵌在这里 */

double f( int n, double a[], double x )
{
    double add = 0;
    for(int i = n; i > -1; i--)
    {
        add = add * x + a[i];
    }
    return add;
}
 

 

你可能感兴趣的:(多项式求值 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑ i=0 n (a[i]×x i ) 在x点的值。)