题解
#include <stdio.h>
#define CLK_TCK 100
int main()
{
int c1, c2;
int s = 0;
scanf("%d %d", &c1, &c2);
int ans = c2 - c1; //按题目要求做差
s = ans / CLK_TCK;
if (ans % 100 >= 50) //四舍五入
s++;
int hh = s / 3600;
s = s % 3600;
int mm = s / 60;
int ss = s % 60;
//输出不足两位时高位补0
printf("%02d:%02d:%02d", hh, mm, ss);
return 0;
}
分析
给出始末时间C1,C2,单位都是CLK_TCK(1s = 100CLK_TCK),求C1和C2相距的时间。其中结果按四舍五入精确到s,并用时分秒的格式输出。
- 四舍五入精确到s输出:直接通过C2 - C1的后两位来判断是四舍还是五入,如果C2-C1不小于50,则五入。
- 时分秒格式输出:保证不足两位的时候高位补0.
一直过不了审,我也很无奈,代码里有什么惊为天人的秘密呗