程序运行时间 (15分)
总结:
四舍五入判定:①round函数 (直接,但涉及数据类型转化,麻烦)
②根据题意,(c2-c1)/100四舍五入即余数满50进一,不满50舍去,令time= ((c2-c1) + 50) / 100即可。
注意: 计算秒数时,需要进行类型转换(double),否则默认ticks / CLK_TCK结果为int型,默认舍去小数部分,无法进行四舍五入。
代码:
#include<cstdio>
#include<cmath>
const int CLK_TCK = 100;
int main()
{
int c1, c2;
scanf("%d%d", &c1,&c2);
int ticks = c2-c1;
//强制类型转换 否则返回int型数据,小数部分舍去,造成无法四舍五入,结果错误
double time = (double)ticks/CLK_TCK;
int hour,min,sec;
hour = time/3600;
min = (time-3600*hour)/60;
sec = round(time-3600*hour-60*min);//四舍五入
//或者直接算 int time= ((c2-c1) + 50) / 100;
//或者if判断 (c2-c1)%100 >= 50
printf("%02d:%02d:%02d", hour,min,sec);
return 0;
}