7-2 然后是幾點(15 分)


有時候人們用四位數字表示一個時間,比如1106表示11點零6分。現在,你的程序要根據起始時間和流逝的時間計算出終止時間。

讀入兩個數字,第一個數字以這樣的四位數字表示當前時間,第二個數字表示分鍾數,計算當前時間經過那么多分鍾后是幾點,結果也表示為四位數字。當小時為個位數時,沒有前導的零,即5點30分表示為530。注意,第二個數字表示的分鍾數可能超過60,也可能是負數。

輸入格式:

輸入在一行中給出2個整數,分別是四位數字表示的起始時間、以及流逝的分鍾數,其間以空格分隔。注意:在起始時間中,當小時為個位數時,沒有前導的零,即5點30分表示為530;流逝的分鍾數可能超過60,也可能是負數。

輸出格式:

輸出四位數字表示的終止時間。題目保證起始時間和終止時間在同一天內。

輸入樣例:

1120 110

輸出樣例:

1310
/*自己的想法*/ 
#include<stdio.h>
int main()
{
    int t1,t2,t3;
    int hour1,minute1,hour2,minute2;
    scanf("%d %d",&t1,&t2);
    hour2=t2/60;
    minute2=t2%60;
    hour1=t1/100;
    minute1=t1%100;
    int hour3=hour1+hour2;
    int minute3=minute2+minute1;
    if(minute3>60)
    {
        minute3=minute3%60;
        hour3++;
    }
    t3=hour3*100+minute3;
    printf("%d",t3);
    return 0;
}
測試點 提示 結果 耗時 內存
0 sample 滿4位,分鍾數超過60,有進位 答案正確 2 ms 128KB
1 讀不滿4位,進位分鍾正好是0 答案錯誤 2 ms 256KB
2 分鍾小於0,輸出不滿4位 答案錯誤 2 ms 128KB

 

參考的代碼

/*參考的代碼*/ 
#include <stdio.h>  
int  main()  
{  
    int starttime,durtime;  
    scanf("%d %d",&starttime,&durtime);  
    int dm,dh,sm,sh;  
    dm=durtime%60;//將流逝時間轉化為分和時  
    dh=durtime/60;  
    sm=starttime%100;//將起始時間轉化為時和分  
    sh=starttime/100;  
    //將兩個時間的分相加,注意大於等於60分鍾時,要入到時里面去  
    //兩時間的時相加  
    sm+=dm;  
    if (sm>=60)  //注意的地方
    {  
        sm=sm-60;  
        sh=sh+1;  
    }  
    if (sm<0)  //注意的地方
    {  
        sm=sm+60;  
        sh=sh-1;  
    }  
    sh+=dh;  
    printf("%d%02d", sh, sm);  
}  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM