anxn+an-1xn-1+an-2xn-2+…+a1x+a0,请纠正程序中存在的错误

2025-03-10 18:53:12
推荐回答(1个)
回答1:

{pvalue+=p.a*pow(x, n);
scanf("%f %d", p.a, p.n);
}
应改为{pvalue+=p.a*pow(x,p.n);
scanf("%f %d", &p.a, &p.n);
}

#include
#include
struct Poly
{ float a; /*系数*/
int n; /*指数*/
};
double fpvalue()
{ struct Poly p;
double pvalue=0;
float x;
printf("输入多项式X:\n");
scanf("%f",&x);
printf("输入多项式系数(a)和指数( n,n=-10000,结束):\n");
scanf("%f %d",&p.a,&p.n);
while(p.n!=-10000)
{pvalue+=p.a*pow(x,p.n);
scanf("%f %d", &p.a, &p.n);
}
return pvalue;
}
int main()
{
printf("多项式值:%20.8f\n",fpvalue());
return 0;
}