中國大學MOOC-C程序設計(浙大翁愷)—— 時間換算
時間換算(10分)
題目內容:
UTC是世界協調時,BJT是北京時間,UTC時間相當於BJT減去8。現在,你的程序要讀入一個整數,表示BJT的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果小時不是0而分小於10分,需要保留十位上的0;如果小時是0而分小於10分的,則不需要保留十位上的0。如1124表示11點24分,而905表示9點5分,36表示0點36分,7表示0點7分。
有效的輸入範圍是0到2359,即你的程序不可能從測試服務器讀到0到2359以外的輸入數據。
你的程序要輸出這個時間對應的UTC時間,輸出的格式和輸入的相同,即輸出一個整數,表示UTC的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果小時不是0而分小於10分,需要保留十位上的0;如果小時是0而分小於10分的,則不需要保留十位上的0。
提醒:要小心跨日的換算。
輸入格式:
一個整數,表示BJT的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果小時不是0而分小於10分,需要保留十位上的0;如果小時是0而分小於10分的,則不需要保留十位上的0。
輸出格式:
一個整數,表示UTC的時和分。整數的個位和十位表示分,百位和千位表示小時。如果小時小於10,則沒有千位部分;如果小時是0,則沒有百位部分;如果小時不是0而分小於10分,需要保留十位上的0;如果小時是0而分小於10分的,則不需要保留十位上的0。
輸入樣例:
803
輸出樣例:
3
1 #include <stdio.h> 2 int main(int argc, char const *argv[]) 3 { 4 int i; 5 scanf("%d",&i); 6 if (i>2359) 7 { 8 scanf("%d",&i); 9 } 10 if (i>=1000||i>=800&&i<=959) 11 { 12 printf("%d\n",i-800); 13 } 14 if (i>=0&&i<800) 15 { 16 i=2400+(i-800); 17 printf("%d\n",i); 18 } 19 return 0; 20 }
一種極其笨拙的寫法,非常簡單的一道題,也很容易。
中國大學MOOC-C程序設計(浙大翁愷)—— 時間換算