PAT 1026. 程序运行时间

程序运行时间

假定收获一个C语言程序的周转时,常用的办法是调动用头文件time.h,其中提供了clock()函数,可以捕捉从程序开始运行到clock()被调用时所消耗的年华。这个时单位凡clock
tick,即“时钟打点”。同时还发生一个时不时数CLK_TCK,给闹了机时钟每秒所走的钟打点数。于是以博一个函数f的运作时刻,我们设以调用f之前先行调用clock(),获得一个时钟打点数C1;在f执行得后再度调用clock(),获得其他一个钟打点数C2;两糟糕获的时钟打点数之异(C2-C1)就是f运行所耗费的时钟打点数,再除因常数CLK_TCK,就获取了坐秒为单位之运作时刻。

这边不妨简要假设常数CLK_TCK也100。现被一定叫测函数前后两潮获的钟打点数,请您于来给测函数运行的时间。

输入格式:

输入在一行中逐条为出2个整数C1跟C2。注意少次于获得的时钟打点数肯定不均等,即C1
< C2,并且取值在[0, 107]。

出口格式:

以一行中输出为测函数运行的时空。运行时刻必须遵循“hh:mm:ss”(即2个的“时:分:秒”)格式输出;不足1秒的光阴四放弃五抱到秒。

输入样例:

123 4577973

出口样例:

12:42:59

分析

立刻道题不为难,用了含蓄在<iomanip>里的setw(),setfill(),详见我之随笔
支配位数和填充0,还因此了蕴藏在<math.h>里的round函数。round:四放弃五称到无限接近的整数;除此之外控制c++中还有这点儿独函数用来处理小数向整数的易:floor
: 不超自变量的极酷整数; ceil :不小于自变量的绝充分整数

代码如下

#include<iostream>
#include<stdio.h>
#include<iomanip>
#include<math.h> 
using namespace std;
int main(){
    int t1=0,hh,mm;
    double ss,t2;
    cin>>t1>>t2;
    t2-=t1;
    t2/=100;
    hh=t2/3600;
    mm=(t2-hh*3600)/60;
    ss=t2-hh*3600-mm*60;
    ss=round(ss);
    cout<<setw(2)<<setfill('0')<<hh<<":"<<setw(2)<<setfill('0')<<mm<<":";
    cout<<setw(2)<<setfill('0')<<ss<<endl; 
    return 0;
}