一道简单的C语言题,求e的值,e=1+1/1!+1/2!+1/3!+....用for循环,计算前50项。

运行结果是1.000000,不知道是不是对的,请大神帮我看看程序有啥问题不?#include<stdio.h>main(){doublei,e=0,s=1;for(i=1... 运行结果是1.000000,不知道是不是对的,请大神帮我看看程序有啥问题不?

#include<stdio.h>

main()
{
double i,e=0,s=1;
for(i=1;i<=49;i++)
s=s*i;
e=e+1/s;
printf("%lf",e+1);

}
展开
 我来答
风若远去何人留
推荐于2017-09-25 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450106
专业C/C++软件开发

向TA提问 私信TA
展开全部

少对大括号


e=e+1/s;这句也是for循环里面的 

改成这样

#include<stdio.h>

main()
{
double i,e=0,s=1;
for(i=1;i<=49;i++)
{
s=s*i;
e=e+1/s;
}
printf("%lf",e+1);

}
WM_THU
2014-08-07 · TA获得超过7163个赞
知道大有可为答主
回答量:4285
采纳率:80%
帮助的人:3868万
展开全部

少了大括号导致for的循环体错误。更正如下:

#include<stdio.h>
main()
{
    double i,e=0,s=1;
    for(i=1;i<=49;i++) 
    {
        s=s*i;
        e=e+1/s;
    }
    printf("%lf",e+1);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
神鹰军团
2014-08-07 · TA获得超过503个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:240万
展开全部
没啥问题啊,能运行出来说明程序本身是没有问题的,但是能不能达到题目的要求这要看看程序的结果了,从语句上看,运行结果是正确的

1楼的回答也是你所疏漏的,按本人经验,是少了大括号,不好意思没注意看你的题目
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yuance123
2014-08-07 · TA获得超过192个赞
知道小有建树答主
回答量:476
采纳率:0%
帮助的人:346万
展开全部
请把for循环的内容用花括号处理一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邓某某2012
2014-08-07 · TA获得超过196个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:125万
展开全部
i最后用整型,for下忘记加{}了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式