| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 466 人关注过本帖
标题:循环结构遇到的问题
只看楼主 加入收藏
西部菜鸟
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-8-30
收藏
 问题点数:0 回复次数:4 
循环结构遇到的问题
求1+2!+3!+4!+.......+10!的和
我写的是:
#include<stdio.h>
void main()
{
int k=1,sum=0,n,j=1;
while(k<=3)
{
for(n=1;n<=k;n++)
{
j = j * n;
}
sum = sum + j;
k++;
}
printf("%d\n",sum);
}
可是运行结果明显不对。实在发现不了错误!
哪位帮帮我! 给个正确的答案!
搜索更多相关主题的帖子: 结构 
2006-09-28 16:19
西部菜鸟
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-8-30
收藏
得分:0 
哪位帮个忙
谢谢了!

2006-09-28 17:04
C之Itachi
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2006-7-16
收藏
得分:0 

#include<stdio.h>
void main()
{
int k=1,sum=0,n,j=1;
while(k<=10)
{
for(n=1;n<=k;n++)
{
j = j * n;
}
sum = sum + j;
j=1;
k++;
}
printf("%d\n",sum);
}





#include<stdio.h>
int fa(int a);
main()
{
int i,j;
int long SUM=0;
for(i=1;i<=10;i++)
SUM=SUM+fa(i);
printf("%ld",SUM);
}
fa(int a)
{
int sum=1,i;
for(i=1;i<=a;i++)
sum=sum*i;
return(sum);
}


2006-09-28 21:03
ww84020209
Rank: 1
等 级:新手上路
帖 子:190
专家分:0
注 册:2006-8-21
收藏
得分:0 

可能是int的范围不够吧,你换成long 看看.


2006-09-28 21:03
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
以下是引用西部菜鸟在2006-9-28 16:19:59的发言:
求1+2!+3!+4!+.......+10!的和
我写的是:
#include<stdio.h>
void main()
{
int k=1,sum=0,n,j=1;
while(k<=3)
{
j=1;
for(n=1;n<=k;n++)
{
j = j * n;
}
sum = sum + j;
k++;
}
printf("%d\n",sum);
}
可是运行结果明显不对。实在发现不了错误!
哪位帮帮我! 给个正确的答案!

你的程序应该只做到了3!,所以这里不存在范围问题,你的问题主要是每次循环都没有重新给j赋值.所以造成得不到正确的结果.当然你要做到10!那用int肯定是不够的.用long,楼主试试


倚天照海花无数,流水高山心自知。
2006-09-28 22:32
快速回复:循环结构遇到的问题
数据加载中...
 
   



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

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