代码有bug,求修改
题目(未发布):
qj的表有两个表面,分别为数字表面和指针。
数字表面比准确时间快30s
指针自调表之时起每4h会慢1s
那么在a时调表,x小时后,数字表面和指针分别指示的时间是什么
提示:a时为:b年,c月,d日,e分,f秒
sample:1134
输入:
2024 1 27 8 0 0
4
输出:
2024 1 27 12 0 30
2024 1 27 11 59 59
代码:
#include<bits/stdc++.h>
using namespace std;
int time(int a3,int b3,int c3,int d3,int e3,int f3)
{
if(f3>=60)
{
while(f3>=60)
{
e3++;
f3-=60;
}
}
if(e3>=60)
{
while(e3>=60)
{
d3++;
e3-=60;
}
}
if(d3>=24)
{
while(d3>=24)
{
c3++;
d3-=24;
}
}
if(b3%2==0)
{
if(c3>=30)
{
while(c3>=30)
{
b3++;
c3-=30;
}
}
}
if(b3%2==1)
{
if(c3>=31)
{
while(c3>=31)
{
b3++;
c3-=31;
}
}
}
if(b3>=12)
{
while(b3>=12)
{
a3++;
b3-=12;
}
}
return a3,b3,c3,d3,e3,f3;
}
int main()
{
int a,b,c,d,e,f,a1=0,b1=0,c1=0,d1=0,e1=0,f1=0,a2=0,b2=0,c2=0,d2=0,e2=0,f2=0;//a year b month c day d hour e mintue f miao
long long x;
cin>>a>>b>>c>>d>>e>>f>>x;
f1+=30;
time(a1,b1,c1,d1,e1,f1);
for(int i=1;i<=x;i++)
{
time(a2,b2,c2,d2,e2,f2);
if(i%4==0)
{
f2-=1;
}
}
cout<<a1<<" "<<b1<<" "<<c1<<" "<<d1<<" "<<e1<<" "<<f1<<endl;
cout<<a2<<" "<<b2<<" "<<c2<<" "<<d2<<" "<<e2<<" "<<f2<<endl;
return 0;
}