大家帮我看看哪错了?????

来源:百度知道 编辑:UC知道 时间:2024/05/27 23:48:10
要求 1+1/1!+1/2!+1/3!+......1/N! 如果是求前50项
我是这么写的
int n,e=1,s=1;
for(n=1;n<=50;n++)
{s*=n;
e+=1/s;};
printf("%d",e);
运行结果是divide error 帮我看看哪错了,谢谢了!!!

溢出了
double也不行
数据类型要自己定义了

50的阶乘太大了,C语言提供的整型数据存不下了.
把s声明成double型试试.

e不能定义为int 并且你求的是前51项
将e声明为double 并改为n<50

数据类型不对 定义长整形看看