关于一重循环的编程题我想知道我错在哪了

欠债的脱水橘猫 2019-11-21 04:05:52
大佬我的脑子又被驴踢了,我想知道再不用两重for循环的条件下我到底错在哪了

e=1+1/1!+1/2!+1/3!+....+1/n!求这个e的值。

#include<stdio.h>
int main()
{
double e=1,item=1;
int i,n;
printf("Input n:");
scanf("%d",&n);
while(i){
item*=i;
i--;
}
for(i=1;i<=n;i++){
e=e+1.0/item;
}
printf("e=%.4f\n",e);//这个输入10,输出11;
return 0;

}
...全文
49 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 45045399的回复:
while(i)
{
item*=i;
i--}
中i的值未初始化,这样会导致读出的数具有不确定性
嗦嘎,大佬牛逼,惭愧啊
  • 打赏
  • 举报
回复
引用 1 楼 寻开心的回复:
你的item放到for循环外面就是固定值了啊, 本来应该是i!的
大佬你太强了,膜拜
Rookie on the road 2019-11-21
  • 打赏
  • 举报
回复
while(i)
{
item*=i;
i--}
中i的值未初始化,这样会导致读出的数具有不确定性
寻开心 2019-11-21
  • 打赏
  • 举报
回复
一层循环,这样就好了
printf("Input n:");
scanf("%d",&n);

for(i=1;i<=n;i++){
e=e+1.0/item;
item *= i+1;
}
printf("e=%.4f\n",e);//这个输入10,输出11;
寻开心 2019-11-21
  • 打赏
  • 举报
回复
你的item放到for循环外面就是固定值了啊, 本来应该是i!的

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧