anhongkiusu 发表于 2020-9-29 13:05:09

C语言数字反转

#include<stdio.h>

int main()
{
        int i=0;
        scanf("%d",&i);
        printf("%d\n",(i%10)*100+(i%100/10)*10+i/100);
        return 0;
}



以上这端代码可以将三位数倒转过来,
求教(i%10)*100+(i%100/10)*10+i/100它的意思是什么,
我不明白它是怎样将数字反转的,求大佬帮帮忙解析一下

sunrise085 发表于 2020-9-29 13:17:34

i%10是个位数,让它乘以100,就把个位换到了百位
i%100/10是十位数,让它乘以10,就把它放在了十位上
i/100就是百位数,直接把百位放在了个位上

例如输入153,第一个加号钱得到的是300,中间部分得到的是50,最后一部分得到的是1,三者相加得到的就是351

anhongkiusu 发表于 2020-9-29 13:38:37

sunrise085 发表于 2020-9-29 13:17
i%10是个位数,让它乘以100,就把个位换到了百位
i%100/10是十位数,让它乘以10,就把它放在了十位上
i/1 ...

谢谢

蒟蒻 发表于 2020-9-29 13:41:02

建议重修小学数学

风过无痕1989 发表于 2020-9-29 14:01:18

蒟蒻 发表于 2020-9-29 13:41
建议重修小学数学

在编程里,有时候就不仅仅是个数学问题。我前天在回复那个素数问题,我一发出去,就发现错了 ( 程序本来是调试好了的。可能的原因是我电脑打开着,人离开了,小孩子不懂,随便乱敲了些东西进去 ),结果,为了修改那个程序,化了我两个多小时 ( 重新写一个,也未必需要那么长的时间 )

anhongkiusu 发表于 2020-10-3 10:11:35

蒟蒻 发表于 2020-9-29 13:41
建议重修小学数学

hai,我是对电脑运行除法的规则不清楚,才会让你感觉好笑吧,确实挺好笑的

蒟蒻 发表于 2020-10-7 14:29:43

阿这我错了,楼主不仅仅是数学的问题!
页: [1]
查看完整版本: C语言数字反转