c语言计算时间差 编写一程序,计算两个时刻之间的时间差,并将其值返回。时间以时、分、秒表示,用结构体变量存放,两个时刻的差小于24小时。
时间: 2024-03-25 15:39:36 浏览: 152
Kalman-filter-tutorial,时间差计算c语言函数源码,c语言程序
好的,以下是一个示例程序,可实现计算两个时刻之间的时间差,并将其值返回。程序中用了一个结构体变量来存放时间信息:
```c
#include <stdio.h>
struct Time {
int hour;
int minute;
int second;
};
int timeDifference(struct Time t1, struct Time t2);
int main() {
struct Time t1, t2;
int diff;
printf("请输入第一个时刻的时间(格式为HH:MM:SS):");
scanf("%d:%d:%d", &t1.hour, &t1.minute, &t1.second);
printf("请输入第二个时刻的时间(格式为HH:MM:SS):");
scanf("%d:%d:%d", &t2.hour, &t2.minute, &t2.second);
diff = timeDifference(t1, t2);
printf("两个时刻之间的时间差为:%02d:%02d:%02d\n", diff / 3600, (diff % 3600) / 60, diff % 60);
return 0;
}
int timeDifference(struct Time t1, struct Time t2) {
int seconds1, seconds2;
seconds1 = t1.hour * 3600 + t1.minute * 60 + t1.second;
seconds2 = t2.hour * 3600 + t2.minute * 60 + t2.second;
if (seconds1 > seconds2) {
return seconds1 - seconds2;
} else {
return seconds2 - seconds1;
}
}
```
程序中定义了一个结构体 Time,里面包含了时、分、秒三个成员。在主函数中,首先通过 scanf 函数分别输入两个时刻的时间信息,然后调用 timeDifference 函数计算它们之间的时间差,并将结果格式化输出。timeDifference 函数的实现比较简单,就是将时、分、秒转换成秒数后再求差值。最后,如果两个时刻的顺序不同,需要将计算结果取绝对值。
阅读全文