酷代码 AI
菜单
服务商

本题要求用C语言编写程序,以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; int n; // 读取输入的时间 scanf("%d:%d:%d", &h, &m, &s); // 读取要增加的秒数 scanf("%d", &n); // 计算增加秒数后的总秒数 s = s + n; // 处理秒数超过60的情况 if (s >= 60) { m = m + s / 60; s = s % 60; } // 处理分钟数超过60的情况 if (m >= 60) { h = h + m / 60; m = m % 60; } // 处理小时数超过23的情况 if (h >= 24) { h = h % 24; } // 输出结果时间 printf("%02d:%02d:%02d", h, m, s); return 0; } ``` 代码解释: 1. 输入读取:使用`scanf`函数读取输入的时间和要增加的秒数。`scanf("%d:%d:%d", &h, &m, &s)`用于读取`hh:mm:ss`格式的时间,`scanf("%d", &n)`用于读取要增加的秒数。 2. 秒数计算:将读取的秒数`s`加上要增加的秒数`n`,如果总和超过60,则将超过的部分转换为分钟,并更新秒数。 3. 分钟数计算:如果分钟数`m`超过60,则将超过的部分转换为小时,并更新分钟数。 4. 小时数计算:如果小时数`h`超过23,则将其对24取模,以确保小时数在0到23之间。 5. 输出结果:使用`printf`函数以`hh:mm:ss`的格式输出结果时间,`%02d`表示输出两位整数,不足两位时前面补0。 [2025-12-11 11:05:20 | AI问答 | 497点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多