求助!!!
  • 板块灌水区
  • 楼主JerryShuzi
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/1/27 18:47
  • 上次更新2024/1/27 18:57:39
查看原帖
求助!!!
1073041
JerryShuzi楼主2024/1/27 18:47

代码有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;
}
2024/1/27 18:47
加载中...