试题题干
一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如: 153=1³+5³+3³), 找出所有的这种数。
main( )
{
int n,a,b,c;/*n、a、b 和c 分别为三位数自身及其个位、十位和百位 */
for(c=1;c<=9;c++)
for (b=0;b<=9;b++)
for(______; a++) /*第一空*/
{
n=_________; /*第二空*/
if(a*a*a+b*b*b+c*c*c==_________) /*第三空*/
printf(″%d\n″, n);
}
}
参考答案
试题解析
一个三位整数个位上数字的取值范围也应该是从0到9,即第一空填入a=0;a<=9也可以填写为a=0;a<10;
因为n、a、b 和c 分别为三位数自身及其个位、十位和百位,所以n=100*c+10*b+a,即第二空填写100*c+10*b+a;
在if语句中判断是否为水仙花数,即a*a*a+b*b*b+c*c*c==n,故第三空填入n。