PTA |1026 程序运行时间 分数 15

125 阅读1分钟

PTA | 程序设计类实验辅助教学平台 (pintia.cn) 这道题主要考时间的进制转换:

秒->时 (/3600) 剩余的分钟数( /60) 剩余的秒数(%60)

#include<iostream>
#include <cmath> 
using namespace std;
int sumsecond,hh,mm,ss;
int main()
{

    int c1,c2;cin>>c1>>c2;

    
    sumsecond=(c2-c1)/100;
    hh=sumsecond/3600;
    mm=sumsecond%3600/60;
    ss=sumsecond%60;
 
    
    printf("%02d:%02d:%02d",hh,mm,ss);

    
    return 0;
}

不过这道题要注意的一点是精度问题,上面的代码运行之后并没有四舍五入,我们需要修改一下,加50秒,加上50这样转换之后如果直接进一位说明原本就是要五入的,如果加上这50还不能往前进就说明要舍去:

  sumsecond=(c2-c1+50)/100;