1. 程式人生 > >7-7 12-24小時制 (C語言)

7-7 12-24小時制 (C語言)

編寫一個程式,要求使用者輸入24小時制的時間,然後顯示12小時制的時間。

輸入格式:

輸入在一行中給出帶有中間的:符號(半形的冒號)的24小時制的時間,如12:34表示12點34分。當小時或分鐘數小於10時,均沒有前導的零,如5:6表示5點零6分。

提示:scanf的格式字串中加入:,讓scanf來處理這個冒號。

輸出格式:

在一行中輸出這個時間對應的12小時制的時間,數字部分格式與輸入的相同,然後跟上空格,再跟上表示上午的字串AM或表示下午的字串PM。如5:6 PM表示下午5點零6分。注意,在英文的習慣中,中午12點被認為是下午,所以24小時制的12:00就是12小時制的12:0 PM

;而0點被認為是第二天的時間,所以是0:0 AM

輸入樣例:

21:11

輸出樣例:

9:11 PM

思路: 

先判斷輸入的24小時制是屬於AM時間段的還是PM時間段的。

如果是AM,就不用改變小時的資料;如果是PM的,就需要換算小時的資料

ps:如果是測試點3沒通過,就需要考慮輸入12:00的時候,輸出是否為12:0 PM了

附上程式碼:

#include <stdio.h>

int main(){
	int hour,min;
	scanf("%d:%d",&hour,&min); 
	if(hour>=0 && hour<12){
		printf("%d:%d AM",hour,min); 
	}
	else if(hour==12){
		printf("%d:%d PM",hour,min);       
	} 
	else{
		printf("%d:%d PM",hour-12,min);   //24小時制與12小時制之間相差12,比如24小時制的13:00對應12小時制的1:00 
	}
	return 0;
}