5-2 然后是幾點
有時候人們用四位數(shù)字表示一個時間,比如1106表示11點零6分。現(xiàn)在,你的程序要根據(jù)起始時間和流逝的時間計算出終止時間。
讀入兩個數(shù)字,第一個數(shù)字以這樣的四位數(shù)字表示當前時間,第二個數(shù)字表示分鐘數(shù),計算當前時間經(jīng)過那么多分鐘后是幾點,結果也表示為四位數(shù)字。當小時為個位數(shù)時,沒有前導的零,即5點30分表示為530。注意,第二個數(shù)字表示的分鐘數(shù)可能超過60,也可能是負數(shù)。
輸入在一行中給出2個整數(shù),分別是四位數(shù)字表示的起始時間、以及流逝的分鐘數(shù),其間以空格分隔。注意:在起始時間中,當小時為個位數(shù)時,沒有前導的零,即5點30分表示為530;流逝的分鐘數(shù)可能超過60,也可能是負數(shù)。
輸出四位數(shù)字表示的終止時間。題目保證起始時間和終止時間在同一天內(nèi)。
1120 110輸出樣例:
1310這是我一開始做的稍微啰嗦的代碼
#include <stdio.h> int main() { int past,fly; int hour1,minute1; int hour2,minute2; int minute3,hour3; scanf("%d %d",&past,&fly); hour1=fly/60; /*將流逝的時間變成xx小時xx分鐘的形式*/ minute1=fly%60; hour2=past/100; minute2=past%100; minute3=minute1+minute2; hour3=hour1+hour2; if(minute1+minute2>=60){ /*若相加的分鐘數(shù)大于等于60,小時數(shù)增加一 */ minute3=minute3-60; hour3=hour3+1; } if (minute1+minute2<0){ /*若增加的分鐘數(shù)為負數(shù),小時數(shù)借一位,小時數(shù)減一*/ minute3=minute3+60; hour3=hour3-1; } if(minute3==0) /*考慮分鐘數(shù)為0的特殊情況*/ PRintf("%d00",hour3); else printf("%d%d",hour3,minute3); return 0;} 后來我發(fā)現(xiàn)其實應該把小時換算成分鐘,這樣更簡潔(~~~~(>_<)~~~~,新手一枚)改進了一下#include<stdio.h>int main(){ int past,fly; int x; scanf("%d %d", &past , &fly); x=(past/100)*60+past%100; printf("%d",(x+fly)/60*100+(x+fly)%60); return 0; } 確實比之前的代碼簡潔多了。
新聞熱點
疑難解答