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

这样电脑看不懂吗

{

    //定义三位数num,个位数sd,十位数td,百位数hd

    int num, sd, td, hd;

    //循环所有三位数

    for(  num=100  ; num<1000  ;  num++  )

    {

        //获取三位数字num百位上的数字

        hd =     (num-sd-10*td  )/100         ;

        //获取三位数字num十位上的数字

        td =     (num-sd-100*hd)  /10          ;

        //获取三位数字num个位上的数字

        sd =      num-10*td-100*hd           ;

        //水仙花数的条件是什么?

        if( num==hd*hd*hd+td*td*td+sd*sd*sd ) 

        {

            printf("水仙花数字:%d\n", num);    

        }

    }

    return 0;    

}


提问者:qq_WWH_fkvAJZ 2018-10-20 16:13

个回答

  • Eric_Ting
    2018-10-20 22:25:41
    已采纳

    C语言的代码运行是一条一条运行的,先运行hd语句,然后才是td,最后是sd,所以在hd中,写入sd和td是错误的,此时sd和td还没有值,不能进行运算。