函数接口定义:
double f( int n, double a[], double x );
其中n是多项式的阶数,a[]中存储系数,x是给定点。函数须返回多项式f(x)的值。
#include<stdio.h>
#include<math.h>
#define max 10
double Sum(int n,double a[], double x) {
double sum, num;
sum = 0;
for (int i = 0; i <= n; i++)
{
num = 0;
if (a[i] != 0)
{
num = 1;
}
int j = 0;
while (j < i)
{
num = num * x;
j++;
}
sum = sum + num * a[i];
}
return sum;
}
int main()
{
int n;
double x, sum, num, a[max];
sum = 0;
scanf("%d %lf", &n, &x);//n是多项式的阶数,x是自变量的值
for (int i = 0; i <= n; i++)
{
scanf("%lf", &a[i]);
}
sum=Sum(n, a, x);
printf("%.1f", sum);
return 0;
}