1. 程式人生 > >中國大學MOOC-C程序設計(浙大翁愷)—— 時間換算

中國大學MOOC-C程序設計(浙大翁愷)—— 時間換算

argv 服務器 code turn int 保留 har 表示 tro

時間換算(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程序設計(浙大翁愷)—— 時間換算