方法说明:化简为嵌套形式,从里向外一层一层计算。
double plyv(double A[], int n, double x)
{
int i;
double result;
result = A[0];
for (i=1; i<n; i++)
{
result *= x;
result += A[i];
}
return result;
}
void main(void)
{
double A[7] = {2,-5,3,1,-7,7,-20};
double x[6] = {0.9,-0.9,1.1,-1.1,1.3,-1.3};
int i;
for (i=0; i<6; i++)
printf("x(%d)=%5.2lf p(%d)=%13.7e\n",i,x[i],i,plyv(A,7,x[i]));
getchar();
}