新微赢技术网
标题:
急啊!!!!大虾帮忙看看啊~~~
[打印本页]
作者:
灬☆爱你
时间:
2009-10-31 01:08
标题:
急啊!!!!大虾帮忙看看啊~~~
运行就陷入死循环!!!!!大虾帮忙啊
//输入任一自然数,求其各位数平方和,循环此操作,最终得到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); }
作者:
大陆猪头
时间:
2009-10-31 01:08
这个嘛你看你的while循环啊,什么叫做while(sum!=1||45)????不死才怪了呢!!
应该是while(sum!=1||sum!=45)
作者:
兰桂枋
时间:
2009-10-31 01:08
我修改后:
#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); }
还是死循环啊,大虾棒棒我
作者:
︶ㄣ帅々︷`
时间:
2009-10-31 01:08
错了不好意思啦,应该是while(sum!=1&&sum!=45)
作者:
酷aiq兒kuku
时间:
2009-10-31 01:08
由于我经常出这种错误,所以刚才没太仔细想,如果用||的话sum==1的就是0,1,sum==45就是1,0;而无论是0,1还是1,0都是真,所以要1,0或0,1为假,所以应该是用&&,不好意思啦。
作者:
ㄣ紸縡のoァ
时间:
2009-10-31 01:08
另外 我可不是什么大虾,有问题大家一起切磋就是了。
作者:
枫之泪-天涯
时间:
2009-10-31 01:08
while(sum!=1||45)
就是这一句
作者:
小滋
时间:
2009-11-5 12:05
够震撼!够创新!!
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2