欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 2025-03-24 学习记录--C/C++-PTA 习题9-1 时间换算

2025-03-24 学习记录--C/C++-PTA 习题9-1 时间换算

2025/3/28 9:01:55 来源:https://blog.csdn.net/weixin_48850734/article/details/146482717  浏览:    关键词:2025-03-24 学习记录--C/C++-PTA 习题9-1 时间换算

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

习题9-1 时间换算

本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。

输入格式:
输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。

输出格式:
输出在一行中给出hh:mm:ss格式的结果时间。

输入样例:

11:59:40
30

输出样例:

12:00:10

二、代码(C语言)⭐️

#include <stdio.h>  // 包含标准输入输出库,用于使用输入输出函数int main() {int h, m, s, n;  // 定义变量:h(小时), m(分钟), s(秒), n(增加的秒数)// 输入起始时间(hh:mm:ss格式)和增加的秒数nscanf("%d:%d:%d", &h, &m, &s);  // 读取起始时间scanf("%d", &n);  // 读取要增加的秒数// 将时间转换为总秒数并进行计算int totalSecond = h * 3600 + m * 60 + s;  // 将起始时间转换为总秒数totalSecond += n;  // 增加n秒// 处理超过24小时的情况(取模运算)totalSecond %= 24 * 3600;  // 确保时间在0-23:59:59范围内// 将总秒数转换回时分秒格式h = totalSecond / 3600;  // 计算小时数m = (totalSecond % 3600) / 60;  // 计算分钟数s = (totalSecond % 3600) % 60;  // 计算秒数// 输出结果时间(确保两位数格式)printf("%02d:%02d:%02d", h, m, s);  // 按hh:mm:ss格式输出,不足两位补零return 0;  // 程序正常结束
}

代码功能说明:🍭

  • 1、输入处理:🎀
    • 读取格式为"hh:mm:ss"的起始时间
    • 读取要增加的整秒数nn<60
  • 2、时间计算:🎀
    • 将时分秒转换为总秒数进行计算
    • 处理超过24小时的循环情况
  • 3、输出处理:🎀
    • 将计算后的总秒数转换回时分秒格式
    • 使用%02d格式确保每个时间单位都显示两位数:👇🏻
      • %02dC语言中的作用是格式化输出整数,确保输出的整数至少有两位,不足两位时在前面补零‌
      • 具体来说,%02d是一个格式说明符,其中“0”表示使用0作为填充字符,“2”表示最小字段宽度为2,“d”表示要打印的数据类型为十进制整数‌。

关键点:🍭

  • 时间转换:使用360060作为转换系数
  • 取模运算:处理时间循环(24小时制)
  • 格式化输出:保证两位数显示,不足补零

在这里插入图片描述

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词