MOOC
1.時間換算
題目內容:
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 時間限制:500ms內存限制:32000kb
#include <stdio.h> int main(int argc, char const *argv[]) { //判斷位數int x,y,z;int n=0;scanf("%d",&x);z=x;n++;n /= 10;while ( z>0 ){n++;z/=10;}//printf("%d %d\n", n,z);//四位數if( n==4 )y=x-800;//三位數if( n==3 ){if ( x/800 >= 1 ){y=x-800;}else{y=x-800+2400;}}//兩位數一位數if ( n==2 || n==1 || n==0){y=x-800+2400;}printf("%d\n",y);return 0; }?n=0無法正確計算位數
總結
- 上一篇: android窗口动画和壁纸关系,And
- 下一篇: CMapStringToPtr::Set