还以为是一元多项式相加呢,这个求一元多项式的值可以吧系数a0,a1,a2...分别按顺序存入线性表,利用循环把x的幂次不断升高,同时乘以相应系数再相加。
比如Pn(x)=a0+a1x+a2x2+a3x3+a5x5;可以有如下算法当系数都为3,输入的x为2时,结果是3+3*2+3*4+3*8+3*16+3*32=189
如果用的不是visual studio 可以吧scanf_s改为scanf 如果是6次或7次就将M定义为6或7
程序代码:
#include<stdio.h>
#define M 5
int main(void) {
int a[M + 1];
int i, n;
printf("请顺序输入a0到a%d的这%d个系数:\n", n = M,n+1);
for (i = 0; i < M+1; i++)
scanf_s("%d", &a[i]);
long sum = 0;
int x;
int y = 1;
printf("请输入x的值:\n");
scanf_s("%d", &x);
for (i = 0; i < M+1; i++) {
sum += a[i] * y;
y *= x;
}
printf("pn(%d)=%ld\n",x, sum);
system("pause");
return 0;
}
[此贴子已经被作者于2018-10-12 18:00编辑过]