闪光体i


私信TA

用户名:uq_45472242551

访问量:1854

签 名:

等  级
排  名 650
经  验 3895
参赛次数 0
文章发表 12
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

第一行 :去的起降时间

来回的飞行时间相同  时差相同 设时差为n

17:48:19 甲地起飞时间

           17:48:19+n 为乙地的起飞时间

 

21:57:24  甲到乙地的降落时间

         21:57:24-(17:48:19+n)=飞行时间

第二行:回来的起降时间

11:05:18  乙地的起飞时间

           11:05:18-n 为甲地起飞时间

 

15:14:23  乙到甲地的降落时间

     15:14:23-(11:05:18-n)=飞行时间

 

列等式 飞行时间相同,求时差 在求飞行时间

21:57:24-(17:48:19+n)=15:14:23-(11:05:18-n)

求出n 在把n带回去 求飞行时间

 

要把时间转化为秒 求总秒数

H m s: m*60+s+h*3600=总秒数

 

答案在从总秒数 求出的时差转回h,m,s



注意事项:   有借鉴思想

参考代码:

#include<stdio.h>

#include<string.h>

int zs(int h,int m ,int s){

     return h*3600+m*60+s;

}

int pd(){

     char a[100];

     gets(a);

     int l;

     l=strlen(a);

     if(a[l-1]!=')')

      strcat(a,"(+0)");

      int h1,m1,s1,h2,m2,s2,d;

      sscanf(a,"%d:%d:%d %d:%d:%d (+%d)", &h1, &m1, &s1, &h2, &m2, &s2, &d);

      return zs(h2,m2,s2)-zs(h1,m1,s1)+d*24*3600;

}

int main(){

     int n;

     scanf("%d",&n);

     char a[200];

     gets(a);

     while(n--){

           int t=(pd()+pd())/2;

           int h=(t/3600)%24;

           int m=(t/60)%60;

           int s=t%60;

           printf("%02d:%02d:%02d\n", h, m, s);

     }

     return 0;

}


 

0.0分

3 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区