C语言:时间换算:用结构类型表示时间内容(时间以时、分、秒表示),输入一个时间数值, 再输入一个秒数 n,以 h:m:s 的格式输出该时间再过 n 秒后的时间值(超过 24 点就 从 0 点开始计时)。试编写相应程序。
时间: 2024-02-03 21:13:37 浏览: 322
下面是 C 语言的代码实现:
```c
#include <stdio.h>
struct Time {
int hour;
int minute;
int second;
};
int main() {
struct Time time;
int n;
printf("请输入时间(格式:hh:mm:ss):");
scanf("%d:%d:%d", &time.hour, &time.minute, &time.second);
printf("请输入秒数 n:");
scanf("%d", &n);
int totalSeconds = time.hour * 3600 + time.minute * 60 + time.second + n;
time.second = totalSeconds % 60;
totalSeconds /= 60;
time.minute = totalSeconds % 60;
totalSeconds /= 60;
time.hour = totalSeconds % 24;
printf("过 %d 秒后的时间为:%02d:%02d:%02d\n", n, time.hour, time.minute, time.second);
return 0;
}
```
代码中我们定义了一个结构体 `Time` 表示时间,包含了时、分、秒三个成员。然后通过 `scanf` 函数输入一个时间数值和一个秒数 `n`。接下来我们将时间转换成总秒数,加上 `n` 后再把总秒数转换成时分秒的格式。最后输出结果即可。
需要注意的是,如果超过 24 点就从 0 点开始计时,所以我们将小时数对 24 取模,使其在 0 到 23 之间。
阅读全文