题目描述
blablabla
这里介绍一种C++的简单版代码,没有用到大佬们的字符串技巧c.str 以及stl
C++ 代码
#include<bits/stdc++.h>
using namespace std;
int getTime(void)
{
int h1,m1,s1,h2,m2,s2,d=0;
scanf("%d:%d:%d %d:%d:%d (+%d)",&h1,&m1,&s1,&h2,&m2,&s2,&d);
int time=d*24*3600+h2*3600+m2*60+s2-(h1*3600+m1*60+s1);
return time;
}
int main()
{
int t;
scanf("%d",&t);
for(int i = 0; i < t; i++)
{
int time1=getTime();
int time2=getTime();
int t=(time1+time2)/2;
printf("%02d:%02d:%02d\n", t/3600, t/60%60, t%60);
}
return 0;
}
${(+ %d )}$不匹配后就会跳过了
居然有这种 用法 秒~
这是什么原因吗
🐮🍺
简便好多 🐂
雀食比y总精简不少
scanf(“%d:%d:%d %d:%d:%d (+%d)”,&h1,&m1,&s1,&h2,&m2,&s2,&d);各位大佬,这个读取的时候没输入(+d)会如何?
那么d就为0啊
🐂🍺
int getTime(void)这个void是什么意思呀
我承认你是天才了
tql
for(int i = 0; i < t; i++)
{
int time1=getTime();
int time2=getTime();
int t=(time1+time2)/2;
这里是为什么啊?初学者有点看不懂
(time1+time2)/2 加的过程把时差抵消了,再除以二就是单程时间,学地理就好理解,从数据也能发现这个规律
orz
tql
牛逼呜呜
为什么
scanf(“%d:%d:%d %d:%d:%d (+%d)”,&h1,&m1,&s1,&h2,&m2,&s2,&d);
的(+%d)没有输入内容就可以忽略啊
tql%%%
tql
666666
%%%%%%%再看一眼我的50行代码 我感觉我是憨瓜
提交时可以AC,但是在别的编译器上运行时输入前两行数据后需要再输入一个别的数据才可以打印出结果,这是什么问题呢
第一组的结果出现在了第二组数据的第一行的后面
tql