问答详情
源自:4-9 循环结构之for循环(二)

为什么num初始值赋值不能为0

#include <stdio.h>
int main()
{
    //定义三位数num,个位数sd,十位数td,百位数hd
    int num, sd, td, hd;
    //循环所有三位数
    for(   num=100;  num<1000 ;    num++  )
    {
        //获取三位数字num百位上的数字
        hd =    (num-num%100)/100       ;
        //获取三位数字num十位上的数字
        td =    (num%100)/10   ;
        //获取三位数字num个位上的数字
        sd =    num%10   ;
        //水仙花数的条件是什么?
        if( num==hd*hd*hd+td*td*td+sd*sd*sd                )
        {
            printf("水仙花数字:%d\n", num);   
        }
    }
    return 0;   
}

提问者:慕粉3930243 2016-09-25 16:48

个回答

  • 慕粉3926548
    2016-09-25 19:12:21
    已采纳

    水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。所以从一百开始,num不可能为0的。