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

获取三位数字num百位上的数字 为什么是:hd = num/100

获取三位数字num百位上的数字 为什么是:hd = num/100

提问者:qq_孤独的沉默_0 2015-11-11 19:25

个回答

  • Perona
    2015-11-11 20:01:03
    已采纳

    需要明白的是int型做除法,得到的数字还是int型。

    如:

    int num=317/100;
    printf("%d\n", num);    //输出结果是3

    这里的结果直接把小数点后的数字丢掉,而不是四舍五入。哪怕小数点后是9,都不会进一。

    至于为什么除以100。

    10是不是可以看作1的十倍,即1*10。那么假如我们要求出35十位上的数字,是不是除以10就可以了。

    如:

    int num=35/10;
    printf("%d\n", num);//输出结果是3

    同理,100是不是可以看做1的一百倍。接着来就不用我说了吧。



  • linabc123
    2018-11-23 23:36:25

    那如果是317,求出他的十位数,为什么是 %100/10