C语言输入11:32:45和14:34:56,求两个时间的和
时间: 2024-05-14 08:19:23 浏览: 9
可以将时间转换为秒进行计算,具体步骤如下:
1. 将输入的时分秒分别存储到变量中,比如h1、m1、s1表示第一个时间的小时、分钟、秒,h2、m2、s2表示第二个时间的小时、分钟、秒。
2. 将第一个时间和第二个时间分别转换为秒数,即:total1 = h1 * 3600 + m1 * 60 + s1,total2 = h2 * 3600 + m2 * 60 + s2。
3. 将两个时间的秒数相加,得到total = total1 + total2。
4. 将total转换为时分秒的形式,即:hour = total / 3600,minute = (total % 3600) / 60,second = total % 60。
下面是一份C语言代码实现:
```c
#include <stdio.h>
int main()
{
int h1, m1, s1; // 第一个时间的小时、分钟、秒
int h2, m2, s2; // 第二个时间的小时、分钟、秒
int total1, total2, total; // 两个时间的总秒数,以及它们的和
int hour, minute, second; // 总秒数对应的小时、分钟、秒
// 输入第一个时间
printf("请输入第一个时间(格式为时:分:秒):");
scanf("%d:%d:%d", &h1, &m1, &s1);
// 输入第二个时间
printf("请输入第二个时间(格式为时:分:秒):");
scanf("%d:%d:%d", &h2, &m2, &s2);
// 计算两个时间的总秒数
total1 = h1 * 3600 + m1 * 60 + s1;
total2 = h2 * 3600 + m2 * 60 + s2;
total = total1 + total2;
// 将总秒数转换为时分秒的形式
hour = total / 3600;
minute = (total % 3600) / 60;
second = total % 60;
// 输出结果
printf("两个时间的和为:%02d:%02d:%02d\n", hour, minute, second);
return 0;
}
```
注意,上述代码中使用了格式化输入函数scanf()的特殊用法,即可以使用“%d:%d:%d”这样的格式字符串直接读取输入的三个整数,并且自动忽略输入中的冒号。