2021-11-02 B1026 简单的时间转换显示和将小数四舍五入

2023-11-08

B1026 简单的时间转换显示和将小数四舍五入

原题:
1026 程序运行时间 (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
结尾无空行
题目大概意思就是给我们两个数C1和C2(C1<C2),我们将它们输入后用C2-C1就是相差的时间值S,但这时单位还不是秒,每100才为1秒,所以将S除以100即可,再分别得出小时数hh,分钟数mm和秒数ss,对应代码如下:

    ss=(int)S%60;
	hh=S/3600;
	mm=(int)S%3600/60;

需要注意的点:
一、将相差时间S换为以秒为单位时除以100后有小数,根据题目意思,不能舍去小数,所以S要设置为double类型
二、四舍五入的处理
我在S除以100后就将它四舍五入了(如果想放在将秒分离出来后处理也行),四舍五入的常用函数的格式为round(double x),返回值也为double型,需要对它进行取整,例如

#include<stdio.h>
#include<math.h>
int main(){
    double a=round(3.40);
    double b=round(3.50);
    printf("%d,%d\n",(int)a,(int)b);//输出的结果是3,4
    return 0;
}

别忘了加上#include<math.h>头文件才可以运行
三、printf输出格式设置
%0md可以使不足m位的int型变量以m位进行右对齐输出,高位用0补齐。
这里要求:运行时间必须按照 hh:mm:ss(即2位的 时:分:秒)格式输出,所以只需要设置为

printf("%02d:%02d:%02d",hh,mm,ss);

四、千万注意,如果输入的C1、C2设置为int类型,那么在进行运算S=((double)C2-(double)C1)/100;这个时,要把C1、C2强制类型转换为double,否则即使S为double型,它得到的小数永远为0。
最后完整正确代码如下:

#include <iostream>
#include<math.h>
#include<stdio.h>
using namespace std;
int main()
{
	long long int C1;
	long long int C2;
	int hh,mm;
	int ss;
	double S;
	cin>>C1>>C2; 
	S=((double)C2-(double)C1)/100;																	
	//	printf("%.2f ", S);
	S=round(S);

    ss=(int)S%60;
	hh=S/3600;
	mm=(int)S%3600/60;
	
//	ss=round(ss);
	printf("%02d:%02d:%02d",hh,mm,ss);
	
	return 0;
} 

这次没有大佬文章链接啦,自己想的~查阅了算法笔记这本书。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2021-11-02 B1026 简单的时间转换显示和将小数四舍五入 的相关文章

  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 动态加载程序集的应用程序配置

    我正在尝试将模块动态加载到我的应用程序中 但我想为每个模块指定单独的 app config 文件 假设我的主应用程序有以下 app config 设置
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • OleDbDataAdapter 未填充所有行

    嘿 我正在使用 DataAdapter 读取 Excel 文件并用该数据填充数据表 这是我的查询和连接字符串 private string Query SELECT FROM Sheet1 private string ConnectStr
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • SolrNet连接说明

    为什么 SolrNet 连接的容器保持静态 这是一个非常大的错误 因为当我们在应用程序中向应用程序发送异步请求时 SolrNet 会表现异常 在 SolrNet 中如何避免这个问题 class P static void M string
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 垃圾收集器是否在单独的进程中运行?

    垃圾收集器是否在单独的进程中启动 例如 如果我们尝试测量某段代码所花费的进程时间 并且在此期间垃圾收集器开始收集 它会在新进程上启动还是在同一进程中启动 它的工作原理如下吗 Code Process 1 gt Garbage Collect
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK
  • 如何在文本框中插入图像

    有没有办法在文本框中插入图像 我正在开发一个聊天应用程序 我想用图标图像更改值 等 但我找不到如何在文本框中插入图像 Thanks 如果您使用 RichTextBox 进行聊天 请查看Paste http msdn microsoft co

随机推荐

  • java yyyy-mm-dd 日期格式_Java中的日期时间格式化

    原标题 Java中的日期时间格式化 1 Java日期时间格式化的概念 我们在日常的开发过程中常常会碰到关于日期时间的计算与存储问题 比如我们要把一个当前时间类型转换成字符串类型 我们会直接使用Util包下的Date数据类型 java uti
  • unity Screen.width, Screen.height

    如果事从编译器调用这个函数 获取的值不正确 获取的是editorwindow的大小
  • 国产自主研发,完全可控 IDE!

    最近 互联网上逐渐有些热闹 日本福岛核废水排海计划 中国自主研发 IDE 作为一名开发者 自然好奇国产自主研发的 IDE 不禁夸赞吾国威武 某方面领域越来越强 该产品名为 CEC IDE 是由数字广东公司联合麒麟软件打造国内首款适配国产操作
  • 乐高叉车wedo教案_24乐高教育wedo编程摩天轮教案

    1 人小组 时长 1 5 活动目标 巩固对三角形结构的稳定性的认识 认识重力的方向是垂直向下 活动准备 9886 套装 摩天轮图片 活动过程 备注 联 系 20 一 互动问大家去游乐园座过摩天轮没有 二 看视频了解摩天轮能座在上面旋转 很高
  • dotnet java_我所理解的JAVA和 DotNet

    Java 从实用性来讲 Java 可以说是第一种 网页 语言 尽管像 Perl 等语言会突然发现它们处理字符串的能力在恢复价值和发送 HTML 到网页浏览器上是天生的 但是 Java 是最早发现自己是根植于浏览器中 最初是在一个有趣但却非常
  • Python基础知识点总结

    https www cnblogs com wu chao p 8421708 html Python中pass语句的作用是什么 pass语句不会执行任何操作 一般作为占位符或者创建占位程序 Python是如何进行类型转换的 Python提
  • python下的pyecharts应用4----绘制cpu折线图

    要求 1 截止到运行一刻 2 每秒钟监测 3 绘制折线图 设计 获取cpu的代码如下 1 获取系统cpu占有率的信息 import psutil import time 隔1s绘制cpu的占有率 gt 持久化的保存 如何将时间和对应的cpu
  • html5 页面可以上下滚动条,h5页面上下左右滑动

    var startX 0 startY 0 operate 0 backDom addEventListener touchstart function evt evt preventDefault var touch evt touche
  • js身份证号校验

    if card console log 请输入身份证号 身份证号不能为空 return false if isCardNo card false console log 您输入的身份证号码不正确 return false 检查省份 if c
  • 西门子PLC的常见的通讯方式

    1 PPI通信 T PPI协议是S7 200cpu最基本的通信方式 S7 200cpu的默认通信方式可通过原端口通信 西门子PLC是一种专为工业环境应用而设计的数字操作电子系统 可编程存储器 存储逻辑操作 顺序控制 定时 计数 算术操作等指
  • Ubuntu常用命令汇集

    ubuntu常用命令汇集 文章目录 一 文件组织结构 二 常用命令 三 权限 一 文件组织结构 为根目录 为系统最基本的目录 home下有用户名的文件夹 该文件夹就是 为主目录 为日常使用的目录 命令在终端中输入 需要注意当前所在的文件夹
  • 神经网络学习小记录64——Pytorch 图像处理中注意力机制的解析与代码详解

    神经网络学习小记录64 Pytorch 图像处理中注意力机制的解析与代码详解 学习前言 什么是注意力机制 代码下载 注意力机制的实现方式 1 SENet的实现 2 CBAM的实现 3 ECA的实现 注意力机制的应用 学习前言 注意力机制是一
  • 第2课:Scratch介绍

    什么是Scratch Scratch 一款免费的图形化少儿编程工具 由麻省理工学院设计开发 它是完全免费的 它将一大片代码变成一个个功能模块 界面非常清晰 小朋友可以像搭积木一样做出自己的游戏程序 对于低年级的小朋友很容易上手 而且很容易培
  • 使用k8s业务在十几分钟无人使用时,访问报错问题

    业务放入k8s测试中发现当十几分钟没有访问 再次访问时就会报错 刷新后业务正常 一直访问故障不复现 通过整体测试发现Redis自动断开连接 redis在使用net网络模式时会出现自动断开问题 升级Redis版本后解决
  • 傅里叶变换,高通,低通滤波

    傅里叶变换 傅里叶变换的作用 高频 变化剧烈的灰度分量 例如边界 低频 变化缓慢的灰度变量 例如一片大海 滤波 低通滤波器只保留低频 会使头像模糊 高通滤波器只保留高频 会使图像细节增强 opencv主要就是cv2 dft 和cv2 idf
  • 机械臂机器人——使用Matlab Robotic ToolBox建立四轴机械臂模型并实现运动控制仿真

    文章目录 四轴机械臂实物 Robotic ToolBox机械臂建模 1 建立机械臂的D H表 建立机械臂坐标系 根据坐标系建立D H表 2 代码建模 机械臂运动学仿真 1 正运动学仿真 2 逆运动学仿真 为了能够实现机械臂的运动轨迹规划 同
  • Github Page 个人主页——自定义域名

    1 前言 看本文前请确认已部署好基础的静态网页 参考上篇文章 Github Page 个人主页 项目部署 部署好的个人网页若使用 username github io 访问 会让别人很难记住 这时就可以使用自定义域名来绑定仓库了 本文将介绍
  • Centos 安装 Kafka 后台启动 教程

    安装 官网 http kafka apache org downloads 1 下载 Python wget http mirrors tuna tsinghua edu cn apache kafka 0 11 0 0 kafka 2 1
  • html自动图片尺寸,关于html:CSS背景图像适合宽度,高度应按比例自动缩放

    我有 body background url images background svg 期望的效果是该背景图像的宽度等于页面的宽度 高度变化以保持比例 例如 如果原始图像恰好是100 200 任何单位 且正文宽度为600px 则背景图像最
  • 2021-11-02 B1026 简单的时间转换显示和将小数四舍五入

    B1026 简单的时间转换显示和将小数四舍五入 原题 1026 程序运行时间 15 分 要获得一个 C 语言程序的运行时间 常用的方法是调用头文件 time h 其中提供了 clock 函数 可以捕捉从程序开始运行到 clock 被调用时所