求解程序关于求取3位数字中十位数字出现的问题
这个程序是求解水仙花数,即3位数中的百位、十位、个位的立方和等于这个三位数,比如153程序如下:
程序代码:#include<stdio.h>
#include<windows.h>
void main()
{
/*********************************************
int i,a,b,c;
a=b=c=0;
for (i=100;i<1000;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i-a*100-b*10;
if ((a*a*a+b*b*b+c*c*c)==i)
printf("%d ",i);
}
printf("\n");
system("pause");
/*********************************************/
int i;
int a1,b1,c1;
a1=b1=c1=0;
for (i=100;i<1000;i++)
{
a1=i/100;
b1=(a1%100)/10;
c1=i-a1*100-b1*10;
if ((a1*a1*a1+b1*b1*b1+c1*c1*c1)==i)
printf("%d ",i);
}
printf("\n");
system("pause");
}
问题:程序中,上下两个部分基本上是一样的,我就是把十位数稍微改了下,想方便一点,但是为什么出的结果就是不一样呢?
上面的部分将全部水仙花数列了出来,但是下面的部分只列了最后一个。
这个是什么原因呢?






