码迷,mamicode.com
首页 > 其他好文 > 详细

PAT1026. 程序运行时间(15)

时间:2015-01-20 13:39:29      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:

要获得一个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和C1。注意两次获得的时钟打点数肯定不相同,即C1 < C2,并且取值在[0, 107]。

输出格式:

在一行中输出被测函数运行的时间。运行时间必须按照“hh:mm:ss”(即2位的“时:分:秒”)格式输出;不足1秒的时间四舍五入到秒。

输入样例:

123 4577973

输出样例:

12:42:59
思路:四舍五入的处理
技术分享
 1 #include<stdio.h> 
 2 
 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
 4 
 5 int main(int argc, char** argv) {
 6     float C1,C2;
 7     scanf("%f%f",&C1,&C2);
 8     float result=(C2-C1)/100;
 9     //对result进行四舍五入
10     int sum;
11     if(result-(int)result>=0.5)
12          sum=(int)result+1;
13     else
14          sum=(int)result;
15     int second,minute,hour;
16     hour=sum/3600;
17     minute=sum%3600/60;
18     second=sum%60;
19     printf("%02d:%02d:%02d\n",hour,minute,second);
20     return 0;
21 }
View Code

 

PAT1026. 程序运行时间(15)

标签:

原文地址:http://www.cnblogs.com/GoFly/p/4235767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!