永发信息网

棘手的程序问题

答案:1  悬赏:80  手机版
解决时间 2021-08-21 15:39

大家看这两个程序,只是数据不同,但是出现死循环

第一个

#include<stdio.h>
void main()
{int i,j,k,n;
for(n=100;n<1000;n++)
{i=n/100;
j=n/10-i*10;
k=n%10;
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf("n=%d\n",n);
}
}这个是正常的。

第二个#include<stdio.h>
void main()
{
int a,b,c,i;
for(i=100;100<i<1000;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(a*100+b*10+c==a*a*a+b*b*b+c*c*c)
printf("%d",i);
}
}谁能给我解释一下?越清楚越好!在这里先说声谢谢啊

最佳答案

#include<stdio.h>
void main()
{int i,j,k,n; 可以理解为 I,J,K,N是整数 int是取整函数
for(n=100;n<1000;n++) 循环开始。给N一个初始值100,如果N>=1000时,跳出循环,N++就是n=n+1
{i=n/100; 第一次循环 此时n=100 赋值 i=n/100=100/100=1
j=n/10-i*10; j=100/10-0*10=10
k=n%10; k=100%10=10
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) 你自己算算吧。。。一个公式,如果左边等于右边的值
printf("n=%d\n",n); 向函数printf()传值
}
}这个是正常的。


第二个#include<stdio.h>
void main()
{
int a,b,c,i;
for(i=100;100<i<1000;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if(a*100+b*10+c==a*a*a+b*b*b+c*c*c)
printf("%d",i); 道理一样。。。就看函数printf()接受数据,如何处理的
}
}


大致意思就是这样

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
adobe reader的功能
关于typhoon的英语作文
牧场管理员是什么,要花钱吗?
药品 甲乙抗栓 怎么订购
计算器的编码大神们帮帮忙
溆浦县怀化沙县小吃(蒸饺王)这个地址怎么能查
水瓶座跟狮子座会适合在一起么?
YY上游客来了管理那里有响声怎么调的?
如何点亮拍拍图标~!
怎么去掉图片上的涂鸦,怎么涂鸦图片
10M等于多少KB
1500M比赛我该做什么?跑前 跑中?
永定区张家界幸福一生床上用品我想知道这个在
物理受力分析,有一个地方弄不明白,
我的qq号丢了怎么才可以找回来啊
推荐资讯
谁知道哪里有蚂蚍啊?
萧山机动车查询的网站谁知道 知道的说下 谢谢
竞争对友谊有害的辩论赛内容
为什么斗鱼加载不出来,为什么美拍看不了视频
盆腔积液手术多少钱,盆腔炎治一下多少钱
南岳区衡阳效球兴诊所这个地址在什么地方,我
GO straight ahead,then take the second lef
想寻找一本网游的书
沧月镜系列txt
冲值年费QQ会员多少钱
默默的关心你的句子,感谢默默关心我的人句子
哲学是追求智慧的吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?