标题:C语言小白求大佬指点
只看楼主
a250026320
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2017-10-16
结帖率:40%
已结贴  问题点数:20 回复次数:3 
C语言小白求大佬指点
#include <stdio.h>
int main (void)
{
    double e,item;
    int i,j,n;
   
    printf("Enter n:");
    scanf("%d",&n);
    e = 1;
     item = 1;
     
         for(i=1; i<=n;i++){
         for(j=1;j <= i;j++)i
         item=item*j;
         e=e+1.0/item;
     }
     printf ("e=%.4f\n",e);
     
     return 0;
}



结果总是不对正确的结果是 n:10
                         e=2.7183
搜索更多相关主题的帖子: C语言 item printf for 结果 
2017-10-16 10:33
hackrol
Rank: 4
来 自:世界和平组织
等 级:业余侠客
帖 子:62
专家分:267
注 册:2014-9-6
得分:20 
#include <stdio.h>
int main (void)
{
    double e,item;
    int i,j,n;
   
    printf("Enter n:");
    scanf("%d",&n);
    e = 1;
     item = 1;
     
         for(i=1; i<=n;i++){
         for(j=1;j <= i;j++)
         {//这少了一对大括号吧!
item=item*j;
         e=e+1.0/item;

}
     }
     printf ("e=%.4f\n",e);
     
     return 0;
}
2017-10-16 10:39
a250026320
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2017-10-16
得分:0 
回复 2楼 hackrol
加上大括号结果也不对,应该不少大括号因为第二个for循环的是他下面的那一条语句,大括号省略了。
2017-10-16 10:48
a250026320
Rank: 2
等 级:论坛游民
帖 子:25
专家分:20
注 册:2017-10-16
得分:0 
回复 2楼 hackrol
十分感谢回答 正确解法应该是#include <stdio.h>
int main (void)
{
    double e,item;
    int i,j,n;
   
    printf("Enter n:");
    scanf("%d",&n);
    e = 1;
     item = 1;
     
         for(i=1; i<=n;i++){
         for(j=1;j <= n;j++)//把这里的i换成n

         item=item*j;
         e=e+1.0/item;


     }
     printf ("e=%.4f\n",e);
     
     return 0;
}
2017-10-16 10:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481459-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015940 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved