一、题目
011:编写程序求级数 e^x 的前m+1项之和。级数 e^x 的前m+1项之和的计算公式为:
(书例3.38)
二、代码实现
思路:根据公式递推累加即可
代码如下:
//011:编写程序求级数e^x的前m+1项之和。级数e^x的前m+1项之和的计算公式为:e^x=1+x+x^2/2!+x^3/3!+...+x^m/m!
#include<stdio.h>
int main()
{
int i,m;
char ch;//判断程序是否继续的字符变量
double x;
do{
printf("please input your x and m in this format:m,x\n");
scanf("%d,%lf",&m,&x);//输入指定的x变量和m
double sum=1,item=1;
for(i=1;i<=m;i++)
{
item*=x/i;
sum+=item;//计算每项并累加
}
printf("the result e^%g(%d items) is %g\n",x,m+1,sum);
printf("\ncontinue? y/n\n");
scanf(" %c",&ch);
}while(ch!='n');//当键入的字符不是n时,默认继续运行程序
printf("END\n");
return 0;
}
运行结果:
please input your x and m in this format:m,x
50,3.3
the result e^3.3(51 items) is 27.1126
continue? y/n
y
please input your x and m in this format:m,x
50,6
the result e^6(51 items) is 403.429
continue? y/n
n
END
按任意键关闭终端。