double f( int n, double a[], double x ){
int i,j;
double sum=0,demo=1;
for(i=0;i<=n;i++){
sum+=a[i]*pow(x,i);
demo=1;
}
return sum;
}
pow()函数是收获最大的地方,本来用循环实现了求x的i次幂,但是显示运行的时间过长,后来发现了这个函数,注意:使用时加上头文件<math.h>
函数名称: pow
函数原型: double pow( double x, double y );
函数功能: 计算x的y次幂
所属文件: <math.h>
完整代码如下:
#include <stdio.h>
#include<math.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,j;
double sum=0;
for(i=0;i<=n;i++){
sum+=a[i]*pow(x,i);
}
return sum;