当前位置: 首页 > article >正文

PAT乙级(1026 程序运行时间)C语言超详细解析

1026 程序运行时间

在这里插入图片描述

输入格式:
在这里插入图片描述

输出格式:

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

输入样例:

123 4577973

输出样例:

12:42:59

代码长度限制 16 KB
时间限制 200 ms
内存限制 64 MB
栈限制 8192 KB

代码示例

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#include <time.h>

int main() {
    // 定义两个整型变量 c1 和 c2,用于存储输入的两个时钟打点数
    int c1, c2;
    // 定义一个常量 c 为 100,表示时钟每秒的打点数
    int c = 100;
    // 定义整型变量 h、m、s、t,分别用于存储小时、分钟、秒和总秒数
    int h, m, s, t;

    // 从标准输入读取两个整数,分别赋值给 c1 和 c2
    scanf("%d %d", &c1, &c2);

    // 判断 c2 与 c1 的差值除以 c 的余数是否大于等于 50
    // 这是为了进行四舍五入操作,因为时钟打点可能存在精度问题
    if ((c2 - c1) % c >= 50) {
        // 如果余数大于等于 50,则将总秒数 t 向上取整
        t = (c2 - c1) / c + 1;
    } else {
        // 如果余数小于 50,则直接将总秒数 t 向下取整
        t = (c2 - c1) / c;
    }

    // 计算小时数,将总秒数 t 除以 3600(一小时有 3600 秒)
    h = t / 3600;
    // 计算分钟数,先取总秒数 t 对 3600 取余,得到剩余的秒数,再将其除以 60(一分钟有 60 秒)
    m = t % 3600 / 60;
    // 计算秒数,取总秒数 t 对 3600 取余,再对 60 取余
    s = t % 3600 % 60;

    // 按照 "HH:MM:SS" 的格式输出时间,使用 %02d 确保输出的小时、分钟、秒数都是两位,不足两位时前面补 0
    printf("%02d:%02d:%02d", h, m, s);

    // 程序正常结束,返回 0
    return 0;
}

http://www.kler.cn/a/567559.html

相关文章:

  • 使用Spring Boot与达梦数据库(DM)进行多数据源配置及MyBatis Plus集成
  • seacms v9 实现的MySQL注入
  • Kubernetes 详解笔记
  • Word快速替换修改学术论文所有中的中括号引用未上标格式
  • BiliBili视频下载-原理与实现Python+FFmpeg
  • 【Netty】五种经典 IO 模型详解,附各种模型流程图及流程详解
  • 特征值与特征向量
  • 【GraphQL API 漏洞简介】
  • vue3+TS使用i18n.global.locale,页面要刷新时才更新
  • 第十四届蓝桥杯:DFS之飞机降落
  • 如何在VUE框架下渲染出来一个水球图
  • 建筑兔零基础人工智能自学记录34|深度学习与神经网络2
  • AI时代保护自己的隐私
  • 【多模态大模型】阶跃星辰放大招Step-Audio:统一语音理解与生成的智能语音交互模型
  • Java在物联网(IoT)中的应用研究
  • 250301-OpenWebUI配置DeepSeek-火山方舟+硅基流动+联网搜索+推理显示
  • 【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.3.2Kibana可视化初探
  • Linux----网络通信
  • RabbitMQ——消息发送的双重保障机制
  • ctfshow——vim临时文件泄露