用C语言编写程序从键盘输入两个时间点(24小时制),输出两个时间点之间的时间间隔,时间间隔用“小时:分钟:秒”表示。 如:3点5分25秒应表示为--03:05:25.假设两个时间在同一天内,时间先后顺序与输入无关。
时间: 2024-10-15 08:12:06 浏览: 225
在C语言中,你可以使用`time.h`库来处理时间并计算两个时间之间的差值。这里是一个简单的示例程序,它会从用户那里获取两个时间点,并输出它们之间的间隔:
```c
#include <stdio.h>
#include <time.h>
// 函数声明
void print_time_interval(time_t start, time_t end);
int main() {
// 获取第一个时间点
printf("请输入第一个时间(HH:MM:SS格式,例如:13:30:00): ");
struct tm first_tm;
scanf("%d:%d:%d", &first_tm.tm_hour, &first_tm.tm_min, &first_tm.tm_sec);
first_tm.tm_mday = 1; // 假设在同一日(如果不是,需要根据实际月份调整)
first_tm.tm_year -= 1900;
// 获取第二个时间点
printf("请输入第二个时间(HH:MM:SS格式,例如:18:45:30): ");
struct tm second_tm;
scanf("%d:%d:%d", &second_tm.tm_hour, &second_tm.tm_min, &second_tm.tm_sec);
second_tm.tm_mday = 1;
second_tm.tm_year -= 1900;
// 计算时间间隔
time_t first_time = mktime(&first_tm);
time_t second_time = mktime(&second_tm);
time_t interval = difftime(second_time, first_time);
// 转换为小时、分钟和秒
int hours = interval / (60 * 60);
interval %= (60 * 60); // 取余得到分钟
int minutes = interval / 60;
int seconds = interval % 60;
// 打印结果
print_time_interval(first_time, second_time);
return 0;
}
// 输出时间间隔函数
void print_time_interval(time_t start, time_t end) {
if (end <= start) {
printf("输入的第二个时间点早于第一个时间点。\n");
return;
}
printf("%02d:%02d:%02d\n", hours, minutes, seconds);
}
```
阅读全文