C 语言基础教程

C 语言流程控制

C 语言函数

C 语言数组

C 语言指针

C 语言字符串

C 语言结构体

C 语言文件

C 其他

C 语言参考手册

C程序计算两个时间段之间的差

C 语言编程实例大全

在此示例中,您将学习使用用户定义的函数来计算两个时间段之间的差。

要理解此示例,您应该了解以下C语言编程主题:

计算两个时间段之间的差异

#include <stdio.h>
struct TIME {
   int seconds;
   int minutes;
   int hours;
};

void differenceBetweenTimePeriod(struct TIME t1,
                                 struct TIME t2,
                                 struct TIME *diff);

int main() {
   struct TIME startTime, stopTime, diff;

   printf("输入开始时间。 \n");
   printf("输入小时、分钟和秒: ");
   scanf("%d %d %d", &startTime.hours,
         &startTime.minutes,
         &startTime.seconds);

   printf("输入停止时间。 \n");
   printf("输入小时,分钟和秒: ");
   scanf("%d %d %d", &stopTime.hours,
         &stopTime.minutes,
         &stopTime.seconds);

   //开始时间和停止时间之间的时差
   differenceBetweenTimePeriod(startTime, stopTime, &diff);
   printf("\n时差: %d:%d:%d - ", startTime.hours,
          startTime.minutes,
          startTime.seconds);
   printf("%d:%d:%d ", stopTime.hours,
          stopTime.minutes,
          stopTime.seconds);
   printf("= %d:%d:%d\n", diff.hours,
          diff.minutes,
          diff.seconds);
   return 0;
}

//计算时间段之间的差异
void differenceBetweenTimePeriod(struct TIME start,
                                 struct TIME stop,
                                 struct TIME *diff) {
   while (stop.seconds > start.seconds) {
      --start.minutes;
      start.seconds += 60;
   }
   diff->seconds = start.seconds - stop.seconds;
   while (stop.minutes > start.minutes) {
      --start.hours;
      start.minutes += 60;
   }
   diff->minutes = start.minutes - stop.minutes;
   diff->hours = start.hours - stop.hours;
}

输出结果

输入开始时间。
输入小时、分钟和秒: 12
34
55
输入停止时间。
输入小时,分钟和秒: 8
12
15

时差: 12:34:55 - 8:12:15 = 4:22:40

在这个程序中,用户被要求输入两个时间段和这两个时期都分别存储在结构变量startTime和stopTime。

然后,函数differenceBetweenTimePeriod()计算时间段之间的差。从main()函数显示结果而不返回它(使用引用调用技术)。

C 语言编程实例大全