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

为什么我只输出了153?

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

提问者:qq_史_0 2018-09-19 12:05

个回答

  • 谦熏
    2018-09-19 13:08:51

    求num的十位上的数字弄错了

    应该是tb=num/10-hd*10;