所以我正在编写一个程序,使用Horner的规则来计算多项式。Horner的规则C
但是当我输入第一个系数后程序崩溃了。我做错了什么?我找不到错误。
编辑:我只是注意到,我正在读的参数向后。
int main() {
int degree;
float x;
float px = 0;
float p = 0;
float *a;
int i;
a = malloc((degree+1)*sizeof(float));
printf("Enter the degree:");
scanf("%d", °ree);
printf("Enter the argument:");
scanf("%f", &x);
for (i = 0; i < degree+1; i++)
{
printf("Enter the coefficient Nr%d:", i+1);
scanf("%f", *(a+i));
}
for (i = degree; i > -1; i--)
{
p = *(a+i) * pow(x, i);
px + p;
}
printf("%f", px);
return 0;
}
'px + p;'assign to where? – Maroun
我假设你在输入'degree'后打算分配'a'? – Xymostech
'p = *(a + i)* pow(x,i);'不是霍纳的方法,你的意思是'px + = ...' –