求c语言高手啊,有个程序运行后光标不停的闪就是不出结果,怎么回事

#include<math.h>main(){inti,t;intsum=0;for(i=1;i<=10000;i++){while(i>0){t=i%10;sum=su... #include<math.h>
main()
{
int i,t;
int sum=0;
for(i=1;i<=10000;i++){
while(i>0){
t=i%10;
sum=sum+pow(t,3);
i=i/10;
}
if(sum==i)
printf("%4d",sum);
}
}

哪里有错,各位麻烦看下
展开
 我来答
好嘞啊啊啊啊
2013-10-12 · TA获得超过2612个赞
知道大有可为答主
回答量:1860
采纳率:66%
帮助的人:1187万
展开全部
#include<math.h>
#include<stdio.h>
#include<windows.h>
main()
{
int i,t,j;
int sum=0;
for(i=1;i<=10000;i++)
{j=i;   //用t代替i
while(j>0){
t=j%10;
            sum=sum+pow(t,3);
j=j/10; //i是控制变量 不能对他进行赋值什么,可能会死循环
}
if(sum==i)  //这里i不便
printf("%4d",sum);
}
system("pause");
}
mafangsan
2013-10-12 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2553万
展开全部
在for循环内改变循环变量的值是一个凶险的事情,你的程序死循环了。
程序修改成如下看看
#include<math.h>
main()
{
int i,t;
int sum=0;
int temp;
for(i=1;i<=10000;i++){
temp=i;
while(temp>0){
t=temp%10;
sum=sum+pow(t,3);
temp=temp/10;
}
if(sum==i)
printf("%4d",sum);
}
}
追问
运行结果为1啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
锅盖zhj
2013-10-12
知道答主
回答量:2
采纳率:0%
帮助的人:2.6万
展开全部
死循环 i〉0一直成立 程序走不出while循环
追问
最后i会等于0啊,那不走出while循环了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式