天天看点

python顺序结构逆序三位数_逆序的三位数

一、问题:

程序每次读入一个正三位数,然后输出逆序的数字。注意,当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

二、分析:

问题的难点,在于如何分离这个正三位数的个位、十位、百位,那么根据题意,我们可以设这个正三位数为m,分析如下:个位:m % 10取余,获得个位;

百位:m / 100取商,获得百位;

十位:方法1:m / 10 % 10,先取商,再取余,获得十位;

方法2: m % 100 / 10,先取余,再取商,获得十位;

最后输出 个位 * 100 + 十位 *1 0 + 百位 即可。个位:ones

十位:tens

百位:hundreds

C语言如下:

#include int main()

{

int m = 0;

scanf("%d", &m);

int ones = m % 10;

int tens = m % 100 / 10; // OR int tens = m / 10 % 10;int hundreds = m / 100;

int n = ones * 100 + tens * 10 + hundreds;

printf("%d", n);

return 0;

}

Python如下:

m = int(input())

ones = m % 10

tens = m % 100 // 10

# OR tens = m // 10 % 10

hundreds = m // 100

n = ones * 100 + tens * 10 + hundreds

print(n)

/ classic division returns a float

// floor division discards the fractional part

所以,此处使用 floor division // 。

总结:Python不需要声明类型,代码更少,写起来比C舒服多了。