计算时间差C语言实现并加上代码注释
时间: 2023-09-04 19:12:51 浏览: 43
当然,以下是计算时间差的C语言代码,并配有详细的代码注释:
```c
#include <stdio.h>
// 定义表示时间的结构体
struct Time {
int hours; // 小时
int minutes; // 分钟
int seconds; // 秒
};
// 计算时间差函数
struct Time getTimeDifference(struct Time start, struct Time end) {
struct Time diff;
// 如果结束时间的秒数小于开始时间的秒数
if (end.seconds < start.seconds) {
end.minutes--; // 将结束时间的分钟减1
end.seconds += 60; // 将结束时间的秒数加60
}
diff.seconds = end.seconds - start.seconds; // 计算秒数差
// 如果结束时间的分钟数小于开始时间的分钟数
if (end.minutes < start.minutes) {
end.hours--; // 将结束时间的小时减1
end.minutes += 60; // 将结束时间的分钟数加60
}
diff.minutes = end.minutes - start.minutes; // 计算分钟差
diff.hours = end.hours - start.hours; // 计算小时差
return diff;
}
int main() {
struct Time startTime, endTime, diffTime;
// 提示用户输入起始时间
printf("Enter start time (hh:mm:ss): ");
scanf("%d:%d:%d", &startTime.hours, &startTime.minutes, &startTime.seconds);
// 提示用户输入结束时间
printf("Enter end time (hh:mm:ss): ");
scanf("%d:%d:%d", &endTime.hours, &endTime.minutes, &endTime.seconds);
// 调用计算时间差的函数
diffTime = getTimeDifference(startTime, endTime);
// 打印时间差
printf("Time difference: %02d:%02d:%02d\n", diffTime.hours, diffTime.minutes, diffTime.seconds);
return 0;
}
```
这个程序中,`Time`结构体用于表示时间,包含`hours`、`minutes`和`seconds`三个成员变量。`getTimeDifference`函数用于计算时间差,它接受两个时间结构体作为参数,并返回一个表示时间差的结构体。在`main`函数中,用户被要求输入起始时间和结束时间,并调用`getTimeDifference`函数来计算时间差。最后,程序将时间差打印出来。