7-7 12-24小時制 (C語言)
阿新 • • 發佈:2018-11-03
編寫一個程式,要求使用者輸入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 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; }