请问这个求e的x次方的代码哪里错了?输出都是0.000000
#include<stdio.h>#include<math.h>
double powers(double,int);
double sum(double);
double jiecheng(int);
int main()
{
double x,s;
printf("需要求e的几次方?\n");
scanf("%lf",&x);
double sum(double x);
printf("e的%lf次方是:%lf",x,s);
return 0;
}
double sum(double x)
{
double powers(double x,int n);
double jiecheng(int n);
int n=0;
double s=0;
while(fabs(powers(x,n)/jiecheng(n)>1e-6) )
{
s=s+(powers(x,n)/jiecheng(n));
n++;
}
return s;
}
double powers(double x,int n)
{
int i;
double p=1.0;
for(i=1; i<=n; i++)
p*=x;
return p;
}
double jiecheng(int n)
{
int i,j=1;
for(i=1; i<=n; i++)
j*=i;
return j;
}
int main()
{
double x,s;
printf("需要求e的几次方?\n");
scanf("%lf",&x);
double sum(double x);
printf("e的%lf次方是:%lf",x,s);
return 0;
}
主函数中的
double sum(double x);
只是在声明函数sum,并没有调用该函数,所以无论该函数是怎么实现的都没有意义。 仰望天上的光 发表于 2018-11-10 20:01
主函数中的
double sum(double x);
那应该怎么改啊-,- main函数中的
double sum(double x);改为
sum(x); 仰望天上的光 发表于 2018-11-10 20:08
main函数中的
double sum(double x);改为
sum(x);
不行。。。还是显示0.000000 改为
s = sum(x); 仰望天上的光 发表于 2018-11-10 20:38
改为
s = sum(x);
谢谢!
页:
[1]