用C语言求四位数的“水仙花数”为什么不出结果?

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:39:27
代码如下。
void main()
{
int i,j,k,l,n;
for(n=1000;n<01000;n++)
{
i=n/1000;/*分解出千位*/
j=n/100%10;/*分解出百位*/
k=n%10%10;/*分解出十位*/
l=n%10;/*分解出个位*/
if(i*1000+j*100+k*10+l==i*i*i+j*j*j+k*k*k+l*l*l)
{
printf("%d",n);
}
}
printf("\n");
}
第三行的错了个 应该是 n<10000

改了之后还是不行

k=n%10%10;/*分解出十位*/ 这个余出来也是个位的,10位的没了

并且i*1000+j*100+k*10+l太耗费资源,并且冗余,应该用n去替换他

for(n=1000;n<01000;n++)

for(n=1000;n<10000;n++)