PAT (Basic Level) Practice (中文) B1026 程序运行时间 (15 分)

简介: PAT (Basic Level) Practice (中文) B1026 程序运行时间 (15 分)

题目描述


要获得一个 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,10 7 ]。


输出格式:

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


输入样例:

123 4577973

结尾无空行

输出样例:

12:42:59

结尾无空行

#include<bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long c1,c2;
  scanf("%lld %lld",&c1,&c2);
  long long ans;
  if((c2-c1)%100>=50)
  {
  ans=(c2-c1)/100+1;
  }else {
  ans=(c2-c1)/100;
  }
  long long h=ans/3600;
  ans=ans%3600;
  long long min=ans/60;
  long long s=ans%60;
  printf("%02lld:%02lld:%02lld",h,min,s);


/


注:


四舍五入的方法

先求小时,在求分,剩下的是秒

注意空位补0的操作


补充:


想到了今年的蓝桥题,感觉是一个风格。


小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取

了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 00:00:00 到当前时

刻经过的毫秒数。

现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要

显示出时分秒即可,毫秒也不用显示,直接舍去即可。

给定一个用整数表示的时间,请将这个时间对应的时分秒输出。

输入格式

输入一行包含一个整数,表示时间。

输出格式

输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值

为 0 到 23,MM 表示分,值为 0 到 59,SS 表示秒,值为 0 到 59。时、分、秒

不足两位时补前导 0。

样例输入 1

46800999

样例输出 1

13:00:00

样例输入 2

1618708103123

样例输出 2

01:08:23

#include<iostream>
using namespace std;
int main()
{
  long long n;
  cin>>n;
  n=n%86400000;
  n=n/1000;
  int h,m,s;
  h=n/3600;
  m=(n%3600)/60;
  s=n%60;
  printf("%02d:%02d:%02d",h,m,s); 
  return 0;
}

注:

1s=1000ms

前提要先将整数天天数去除

相关文章
|
C语言 C++
PAT (Basic Level) Practice (中文)1099 性感素数(20分)
“性感素数”是指形如 (p, p+6) 这样的一对素数。之所以叫这个名字,是因为拉丁语管“六”叫“sex”(即英语的“性感”)。(原文摘自 http://mathworld.wolfram.com/SexyPrimes.html) 现给定一个整数,请你判断其是否为一个性感素数。
161 0
|
测试技术
PAT (Basic Level) Practice (中文) B1011 A+B 和 C (15 分)
PAT (Basic Level) Practice (中文) B1011 A+B 和 C (15 分)
112 0
PAT (Basic Level) Practice (中文) B1011 A+B 和 C (15 分)
|
人工智能 测试技术
PAT (Basic Level) Practice (中文) B1008 数组元素循环右移问题 (20 分)
PAT (Basic Level) Practice (中文) B1008 数组元素循环右移问题 (20 分)
106 0
PAT (Basic Level) Practice (中文) B1008 数组元素循环右移问题 (20 分)
PAT (Basic Level) Practice (中文) 1016 部分A+B (15 分)
PAT (Basic Level) Practice (中文) 1016 部分A+B (15 分)
91 0
PAT (Basic Level) Practice (中文) B1046 划拳 (15 分)
PAT (Basic Level) Practice (中文) B1046 划拳 (15 分)
93 0
|
存储 测试技术
PAT (Basic Level) Practice (中文) 1004 成绩排名 (20 分)
PAT (Basic Level) Practice (中文) 1004 成绩排名 (20 分)
94 0
|
算法
PAT (Basic Level) Practice (中文)1028. 人口普查(20分)
PAT (Basic Level) Practice (中文)1028. 人口普查(20分)
110 0
PAT (Basic Level) Practice (中文) 1036 跟奥巴马一起编程 (15 分) p89
PAT (Basic Level) Practice (中文) 1036 跟奥巴马一起编程 (15 分) p89
167 0
|
存储
PAT (Advanced Level) Practice 1011 World Cup Betting (20 分)
PAT (Advanced Level) Practice 1011 World Cup Betting (20 分)
88 0
PAT (Basic Level) Practice (中文)- 1060 爱丁顿数(25 分)
PAT (Basic Level) Practice (中文)- 1060 爱丁顿数(25 分)
102 0