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

为什么hd=num/100中的/是什么意思?还有td为什么=(num%100)/10

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

}


提问者:曾小妍 2015-12-11 23:15

个回答

  • qq_____暖_0
    2015-12-11 23:26:53
    已采纳

    ”/ “是运算符“除”


    ”%“是运算符"取余"

    (num%100)/10

    假设num等于100  td表示十位数 也就是 中间的 0  如果要得到中间这个0 做法是   (num%100)/10

    先运算  100%100=0

    然后再计算 0/10=0

    这样就计算出来了。

    再举个例子 (989%100)/10    我们一眼看过去知道  td 等于 8

    选计算 989%100=89  得到89

    然后 89/10=8

    这就是 td的结果

  • 流浪_老
    2015-12-11 23:25:14

    例如  num=102  那么num/100就等于1  余数是2  但是在c里面/  是不要余数的  所以我们就取到了他的百位数1

     td =(num%100)/10;获取三位数字num十位上的数字  首先num%100=1 余数是2  %符号的意思是取其余数也就是2      然后2/10=0余二     得到的是0 就是十位上的 数