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

问题出在哪里呀,总是输出错误

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

}


提问者:qq_灬没名字怎么陈_eoqQT3 2019-05-30 11:09
微课

个回答

  • qq_我是你的菜_0
    2019-06-06 16:38:10

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

            hd =      num%100        ; //假设数字为num=123,你这个运算结果是:123%100=23。

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

            td =  num%100/10       ; //假设数字为num=123,你这个运算结果是:123%100=23,23/10=2。

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

            sd =  num%10       ; //假设数字为num=123,你这个运算结果是:123%10=3。

    这样你会不会好理解一点?  


  • 杭州李乾坤
    2019-05-30 22:46:30

    百位数是 除一百, 留商,你留了余数, 中间数 ,先除10 ,再求余数 ,