设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 731|回复: 7
打印 上一主题 下一主题

急啊!!!!大虾帮忙看看啊~~~

[复制链接]
跳转到指定楼层
1#
发表于 2009-10-31 01:08:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
运行就陷入死循环!!!!!大虾帮忙啊
//输入任一自然数,求其各位数平方和,循环此操作,最终得到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); }
2#
发表于 2009-10-31 01:08:01 | 只看该作者
这个嘛你看你的while循环啊,什么叫做while(sum!=1||45)????不死才怪了呢!!
应该是while(sum!=1||sum!=45)
回复 支持 反对

使用道具 举报

3#
发表于 2009-10-31 01:08:02 | 只看该作者
我修改后:
#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); }
还是死循环啊,大虾棒棒我
回复 支持 反对

使用道具 举报

4#
发表于 2009-10-31 01:08:02 | 只看该作者
错了不好意思啦,应该是while(sum!=1&amp;&amp;sum!=45)
回复 支持 反对

使用道具 举报

5#
发表于 2009-10-31 01:08:03 | 只看该作者
由于我经常出这种错误,所以刚才没太仔细想,如果用||的话sum==1的就是0,1,sum==45就是1,0;而无论是0,1还是1,0都是真,所以要1,0或0,1为假,所以应该是用&amp;&amp;,不好意思啦。
回复 支持 反对

使用道具 举报

6#
发表于 2009-10-31 01:08:04 | 只看该作者
另外 我可不是什么大虾,有问题大家一起切磋就是了。
回复 支持 反对

使用道具 举报

7#
发表于 2009-10-31 01:08:05 | 只看该作者
while(sum!=1||45)
就是这一句
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-5 12:05:05 | 只看该作者
够震撼!够创新!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 06:54 , Processed in 0.095567 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表