C語言學習記錄(7)時間格式轉換
阿新 • • 發佈:2018-12-16
C語言學習記錄
學習OJ上的C語言題
時間格式轉換
題目描述 編寫一個程式,要求使用者輸入24小時制的時間,然後按照12小時制的格式顯示出來。 提示:
hours == 0時,顯示12:MM AM hours < 12時,顯示HH:MM AM hours == 12時,顯示HH:MM PM hours > 12時,顯示hours-12:MM PM
輸入描述 在一行中輸入24小時制的時間。例如:21:11
輸出描述 按照12小時制的格式顯示輸入的時間。例如:9:11 PM
輸入樣例 21:11 輸出樣例 9:11 PM
解題:
#include<stdio.h>
int main ()
{
int x,y,m,n,i,k,max,min,a,b;
scanf("%d:%d",&x,&y);
if(x>=0&&x<24&&y>=0&&y<60)
{
if(x==0)
{
printf("12:%d AM",y);
}
else if(x<12)
{
printf("%d:%d AM",x,y);
}
else if(x==12)
{
printf( "%d:%d PM",x,y);
}
else
{
printf("%d:%d PM",x-12,y);
}
}
return 0;
}
輸出···嗯···沒問題,好,提交!<答案錯誤!> 納尼?! 啥也沒問題啊! 搗鼓了半天,發現分鐘要補0,你題目也沒說啊?!我怎麼知道要不要加?萬一多此一舉呢?
正確程式碼:
#include<stdio.h>
int main()
{
int x,y,m,n,i,k,max,min,a,b;
scanf("%d:%d",&x,&y);
if(x>= 0&&x<24&&y>=0&&y<60)
{
if(x==0)
{
printf("12:%02d AM",y);
}
else if(x<12)
{
printf("%d:%02d AM",x,y);
}
else if(x==12)
{
printf("%d:%02d PM",x,y);
}
else
{
printf("%d:%02d PM",x-12,y);
}
}
return 0;
}