蓝桥杯每日一题1.18 航班时间[输入输出控制]

https://blog.csdn.net/weixin_43914593/article/details/112728088

(1)飞行时间的计算
  设起飞时间是S,到达时间是T,单程飞行时间是X,时差是T。
  从A到B:S1+X+T=E1
  从B到A:S1+X-T=E2
  ☀整理两式得:2X=(E1-S1) + (E2-S1),答案就是X。
  ☀☀☀可见,并不需要计算时差T,因为一去一回,互相抵消了。

(在计算时间的时候直接都转化为S来计算非常简便呀!!!)

(2)输入输出

          还是用C语言的scanf进行输入最为简便

          输出由于需要填充0,也要使用C语言的printf来控制格式化输出

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<set>
#include<queue>
#include<stack>
using namespace std;
typedef long long ll;
const int maxn = 110000;

int get_time()
{
    int h1,h2,m1,m2,s1,s2;
    scanf("%d:%d:%d %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);
    int day=0;
    if((getchar())!=0)
        scanf("(+%d)",&day);
    int S=h1*3600+m1*60+s1;
    int E=h2*3600+m2*60+s2;
    return E-S+day*24*3600;
}

int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int ans=(get_time()+get_time())/2;
        printf("%02d:%02d:%02d\n",ans/3600,ans/60%60,ans%60);
    }
    return 0;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值