c语言时间换算:用结构类型表示时间内容(时间以时、分、秒表示),输入一个时间数值,再输入一个秒数n(n<60),以h:m:s的格式(如:05:17:30)输出该时间再过n秒后的时间值(超过24点就从0点开始计时)。试编写相应程序。提示:%02d可以显示2位整数,位数不够填充0。
时间: 2024-01-22 17:17:46 浏览: 170
以下是代码实现:
```c
#include <stdio.h>
struct Time {
int hour;
int min;
int sec;
};
void printTime(struct Time t) {
printf("%02d:%02d:%02d\n", t.hour, t.min, t.sec);
}
int main() {
struct Time t;
int n;
printf("请输入时间(时:分:秒):");
scanf("%d:%d:%d", &t.hour, &t.min, &t.sec);
printf("请输入秒数n(n<60):");
scanf("%d", &n);
int seconds = t.hour * 3600 + t.min * 60 + t.sec + n;
t.hour = seconds / 3600 % 24;
t.min = seconds % 3600 / 60;
t.sec = seconds % 60;
printf("时间:%02d:%02d:%02d\n", t.hour, t.min, t.sec);
return 0;
}
```
程序中,我们定义了一个结构体类型`Time`用来表示时间,包含小时、分钟和秒。然后使用`scanf`函数获取用户输入的时间和秒数n。接着,将输入的时间转换为秒数进行计算,再将计算得到的秒数转换回时间格式,最后输出结果即可。需要注意的是,当时间超过24点时,需要从0点开始重新计时,因此对小时数取模24。
阅读全文