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

我这样是不是写复杂了 ?麻烦大神给出最简洁的写法

#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) -  (num%100)%10)/10;
        //获取三位数字num个位上的数字
        sd =        num-hd*100-td*10         ;
        //水仙花数的条件是什么?
        if(     hd*hd*hd+td*td*td+sd*sd*sd==num)
        {
            printf("水仙花数字:%d\n", num);    
        }
    }
    return 0;    
}

提问者:沐风徵 2019-07-26 10:15

个回答

  • 小小疾飞
    2019-07-26 10:17:45
    已采纳

    hd = num/100;

    td =num/10%10;

    sd =num%100%10;