逆序输出单词 c语言_逆序的三位数

633494dfe8814483653207ac66fb09d8.png

一、问题:

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

二、分析:

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

  1. 个位:m % 10 取余,获得个位;
  2. 百位:m / 100 取商,获得百位;
  3. 十位:
  • 方法1:m / 10 % 10,先取商,再取余,获得十位;
  • 方法2: m % 100 / 10,先取余,再取商,获得十位;

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

  • 个位:ones
  • 十位:tens
  • 百位:hundreds

C语言如下:

#include <stdio.h>
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舒服多了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值