| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1154 人关注过本帖
标题:急啊!!!!大虾帮忙看看啊~~~
只看楼主 加入收藏
cgashenyang
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-9-14
收藏
 问题点数:0 回复次数:6 
急啊!!!!大虾帮忙看看啊~~~

运行就陷入死循环!!!!!大虾帮忙啊

//输入任一自然数,求其各位数平方和,循环此操作,最终得到1或45,编程并验证。

#include<stdio.h> #include<math.h> void main() { int s; int sum=0; printf("请输入一个自然数:\n"); scanf("%d",&s);//接收自然数

while(sum!=1||45) {

while(s>0) { sum+=(s%10)*(s%10); //求s%10的平方 s=s/10; } s=sum;

}

printf("结果是:%d\n",sum); }

搜索更多相关主题的帖子: sum 自然数 int include 
2004-09-14 15:48
ffll518
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2004-9-8
收藏
得分:0 

这个嘛你看你的while循环啊,什么叫做while(sum!=1||45)????不死才怪了呢!!

应该是while(sum!=1||sum!=45)


2004-09-14 16:53
cgashenyang
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-9-14
收藏
得分:0 

我修改后:

#include<stdio.h> #include<math.h> void main() { int s; int sum=0; printf("请输入一个自然数:\n"); scanf("%d",&s);//接收自然数

while(sum!=1||sum!=45) {

sum=0;

while(s>0) { sum+=(s%10)*(s%10); //求s%10的平方 s=s/10; }

s=sum; } printf("结果是:/n",s); }

还是死循环啊,大虾棒棒我

2004-09-14 17:44
ffll518
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2004-9-8
收藏
得分:0 
错了不好意思啦,应该是while(sum!=1&amp;&amp;sum!=45)

2004-09-14 17:56
ffll518
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2004-9-8
收藏
得分:0 
由于我经常出这种错误,所以刚才没太仔细想,如果用||的话sum==1的就是0,1,sum==45就是1,0;而无论是0,1还是1,0都是真,所以要1,0或0,1为假,所以应该是用&amp;&amp;,不好意思啦。

2004-09-14 17:59
ffll518
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2004-9-8
收藏
得分:0 
另外 我可不是什么大虾,有问题大家一起切磋就是了。

2004-09-14 18:02
kuangjingbo
Rank: 1
等 级:新手上路
帖 子:312
专家分:0
注 册:2004-4-24
收藏
得分:0 
while(sum!=1||45)
就是这一句

永不放弃!
2004-09-14 19:40
快速回复:急啊!!!!大虾帮忙看看啊~~~
数据加载中...
 
   



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

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