用C语言回答我上面的问题
时间: 2024-09-22 10:01:49 浏览: 23
当然,下面是使用C语言来解决这个问题的一个示例:
```c
#include <stdio.h>
// 定义函数,计算旅行时间
char* calculate_travel_time(int start_hour, int start_min, int end_hour, int end_min) {
// 计算差值
int travel_hours = (end_hour - start_hour + 24) % 24; // 考虑跨越第二天的情况
int travel_minutes = (end_min - start_min) % 60;
// 格式化并创建结果字符串
char result[6] = "00:00";
if (travel_hours >= 10) {
result[0] = '0' + travel_hours / 10;
}
result[1] = '0' + travel_hours % 10;
result[3] = ':';
if (travel_minutes >= 10) {
result[4] = '0' + travel_minutes / 10;
}
result[5] = '0' + travel_minutes % 10;
return result;
}
int main() {
// 获取用户输入
char time_input[5];
scanf("%s", time_input);
int parts[] = {atoi(time_input), 0};
sscanf(time_input, "%d:%d", &parts[0], &parts[1]);
// 计算并输出旅行时间
char* travel_time_str = calculate_travel_time(parts[0], parts[1], parts[0], parts[1]);
printf("%s\n", travel_time_str);
return 0;
}
```
这个C语言程序首先从用户那里获取两个时间,并通过`calculate_travel_time` 函数计算旅行时间,然后将结果输出。