#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;
}
#include <math.h>
double f( int n, double a[], double x ){
int i;
double b,sum;
for(i=0;i<=n;i++){
b=a[i]*pow(x,i);
sum+=b;
}
return sum;
}
需调用math.h库中的pow函数,意为x的i次方。在C语言中^不是乘方的意思,而为异或的意思,即不同为1,相同为0,使用时还需注意,^俩端的数据类型必须一样。