展开式求和:s=(x^0)/0!+(x^1)/1!(x^2)/2!+.到最后一项的绝对值小于0.00001,结果保留四位小数。
#include<stdio.h>
#include<math.h>
int fact(int n)
{
double result;
if(n==1||n==0)
{
result=1;
}else
{
result=n*fact(n-1);
}
return result;
}
int main(void)
{
int i=0;
double k,sum=0,x;
printf("Enter x:");
scanf("%d",&x);
k=(pow(x,i))/fact(i);
while(fabs(k)>=0.00001)
{
sum+=k;
i++;
k=(pow(x,i))/fact(i);
}
printf("s=1+x+x^2/2!+....=%.4lf\n",sum);
return 0;
}
不管输什么x,结果都不变,大家帮我看看那出错了