求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);
}
}
哪里有错,各位麻烦看下 展开
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);
}
}
哪里有错,各位麻烦看下 展开
3个回答
展开全部
#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");
}
展开全部
在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);
}
}
程序修改成如下看看
#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啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
死循环 i〉0一直成立 程序走不出while循环
追问
最后i会等于0啊,那不走出while循环了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询