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

C语言 4-9作业 错在哪里啊?

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

提问者:回头再来 2016-02-17 14:47

个回答

  • 元_宝
    2016-02-17 15:12:59

    hd = num/100;   //举例:hd = 125/100;即百位是1
    td = (num - hd * 100)/10;  //td = (125 - 1*100)/10=2;即十位是2
    sd = num - hd * 100 - td * 10;  //sd=125-1*100-2*10=5;即个位是5