C语言实现时间差计算

时间差计算

时间1,某小时某分钟
时间2,某小时某分钟
计算他们的时间相差几小时几分钟

代码如下
#include<stdio.h>
int main()
{
int a1,b1;
int a2,b2;
scanf("%d %d",&a1,&b1);
scanf("%d %d",&a2,&b2);
int c=a1-a2;
int d=b1-b2;
if(d<0)
{
d=60+d;
c=c-1;
}
printf(“时间差是%小时%d分钟”,c,d);
return 0;
}

或者
#include<stdio.h>
int main()
{
int a1,b1;
int a2,b2;
scanf("%d %d",&a1,&b1);
scanf("%d %d",&a2,&b2);
int c=a2-a1;
int d=b2-b1;
if(d<0)
{
d+=60;//等同于d=d+60
c–; //等同于c=c-1
}
printf(“时间差是%d小时%d分钟”,c,d);
return 0;
}

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
当然,以下是计算时间差的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`函数来计算时间差。最后,程序将时间差打印出来。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值