【发布时间】:2017-03-26 07:12:12
【问题描述】:
我编写了这个程序,它计算用户输入的 x 值的 8 个多项式度数。程序运行,但是一旦我输入 8 个多项式,它应该允许我输入 x 的值,但它会跳过,并显示输出。我尝试在扫描仪功能中使用浮点数和双精度数,但这不起作用。任何帮助将不胜感激,谢谢。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void get_poly(double *coeff, int N);
double eval_poly(double *coeff, double base, int N);
int main(void)
{
int N = 8;
double res;
double base = 0.0;
double a[N];
double *coeff;
coeff = &a[0];
printf("Enter the eight coeffecients: \n");
scanf(" %d",&N);
get_poly(coeff, N);
printf("Enter x: \n");
scanf(" %lf", &base);
res=eval_poly(coeff, base, N);
printf("Output: %f. \n",res);
return 0;
}
void get_poly(double *coeff, int N)
{
int i = 0;
double placeholder;
for (i = 0; i < N; i++)
{
scanf(" %lf", &placeholder);
*coeff = placeholder;
coeff++;
}
}
double eval_poly(double *coeff, double base, int N)
{
int i = 0;
double res=0.0;
for (i = 0; i < N; i++)
res=res+coeff[i]*pow(base,i);
return res;
}
【问题讨论】:
标签: c pointers polynomials