题目描述
根据时钟的打点次数和频率计算程序起始时间和结束时间。
题目分析
题目很简单,说几个需要注意的问题,不然不会全对的。首先就是四舍五入问题,这个需要用round函数来计算。其次由于四舍五入的一定是个小数,所以我们的C1,C2不能声明为整数类型,应该是double类型,否则输出的数值是不准的,是没有经过四舍五入的。第三,就是为了防止出现输入数目过大的情况,我们把C1,C2声明为long double类型的数据,四舍五入过的秒数,即(C2 - C1) / CLK_TCK声明为long long int类型。
CLK_TCK声明为const int。
代码
#include <iostream>
#include <vector>
#include <iomanip>
#include <math.h>
using namespace std;
int main()
{
long double C1,C2;
cin>>C1>>C2;
const int CLK_TCK = 100;
long long int sec = round((C2 - C1) / CLK_TCK);
int hour = sec / 3600;
int minute = (sec % 3600) / 60;
int second = sec % 60;
cout<<setw(2)<<setfill('0')<<hour<<":"<<setw(2)<<setfill('0')<<minute<<":"<<setw(2)<<setfill('0')<<second;
return 0;
}
答题用时4min
Q26——finish√