天天看點

逆序輸出單詞 c語言_逆序的三位數

逆序輸出單詞 c語言_逆序的三位數

一、問題:

程式每次讀入一個正三位數,然後輸出逆序的數字。注意,當輸入的數字含有結尾的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舒服多了。