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

有错在那里

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);    

        }

    }


提问者:weixin_精慕门8374578 2020-02-24 21:02

个回答

  • 沉默小白
    2020-02-28 15:57:45

    #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%100)%10;

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

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

            {

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

            }

        }

        return 0;    

    }


  • Mr小超ya
    2020-02-25 12:53:43

    个位上的值应该这样求:sd=num%10

    十位上的值还可以这样求:td=mun/10%10