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

答案为何只出了一个1

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

提问者:慕粉4069195 2016-10-05 19:19

个回答

  • 空白4001250
    2016-10-05 21:47:35

    没错啊


  • qq_范特西_4
    2016-10-05 21:37:15

    这是我的代码,系统显示是通过的

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