PAT练习基础编程题目之多项式求值

多项式求值

导语:废话少说,直接开播!

#include <stdio.h>
#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 ){
    int i;
    double p = a[0]; 
    //这里也可以先让p=a[n],如果这样后面p的计算方法也得相应改变
    for(i=1;i<=n;i++){
        p += (a[i]*pow(x,i));
    }
    return p;
}

结束语:以前一直以为自己一眼就能知道思路的算法题只要自己去写就定能够一次书写,编译通过,但经过切身实践发现,这有点不现实,虽然代码实现简单,但在书写的过程中,却也总是会犯一些小错误,比如引号的书写、分号的书写、函数声明后面忘记加分号等等问题,这里说出来,希望大家不要和我犯一些一样的错误。

你可能感兴趣的:(编程,pat,多项式求值)