(a[i] x
)在x点的值。
#include <stdio.h>
#include <stdlib.h>
#define MAXN 10
double f(int n,double a[],double x)
{
int i;
int temp=1; //设这个变量初值为1,因为0次方为1,不能设为0,因为循环后一直乘以0就会一直是0
double result=0; //设结果为初值0
double num1=a[0]*1; //因为第一个数是乘以x的0次方所以把它单独拿出来
for(i=1;i<=n;i++)
{
temp*=x; //次幂运算,如第一次为1*x也就是x,第二次为1*x*x也就是x²,第三次就为x三次方
result+=a[i]*temp; //每次把系数乘以x的几次方后赋值给result,然后再进行累加操作result+=
}
return num1+result; //把第一个结果与第一个数相加得出最终结果
}
int main()
{
int n,i;
double a[MAXN],x;
printf("请输入阶数:\n");
scanf("%d",&n);
printf("请输入给定点x的值:\n");
scanf("%lf",&x);
for(i=0;i<=n;i++)
{
printf("请输入系数:\n");
scanf("%lf",&a[i]);
}
printf("结果为%.lf\n",f(n,a,x));
return 0;
}