⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pku2210.cpp

📁 这是ACM 方面的资料 是PKU的 北京大学的出来的
💻 CPP
字号:
#include <stdio.h>

typedef int LLN;

LLN H1, M1, S1, D1, Mo1, Y1;
LLN H2, M2, S2, D2, Mo2, Y2;
LLN S, D;

int month[2][12] = 
{
	{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
	{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};

LLN LeapCount(LLN x)
{
	return (x + 3) / 4 - (x + 99) / 100 + (x + 399) / 400;
}

int isLeap(LLN x)
{
	if (x % 4 == 0 && x % 100 != 0)
		return 1;
	if (x % 400 == 0)
		return 1;
	return 0;
}

void Solve()
{
	LLN leapcnt;
	int leap, i;
	scanf("%d:%d:%d %d.%d.%d", &H1, &M1, &S1, &D1, &Mo1, &Y1);
	Y1 -= 2000;
	leapcnt = LeapCount(Y1);
	leap = isLeap(Y1);
	D = Y1 * 365 + leapcnt;
	for (i = 0; i < Mo1 - 1; i++)
		D += month[leap][i];
	D += D1 - 1;
	S = S1 + M1 * 60 + H1 * 3600;
	
	S = (int)(S  * 100000.0 / 86400.0);

	S2 = S % 100; //求秒
	S /= 100; //化成分
	M2 = S % 100; //求分
	S /= 100; //化成小时
	H2 = S; //求小时
	
	D2 = D % 100 + 1; //求天 
	D /= 100; //化成月
	Mo2 = D % 10 + 1; //求月
	D /= 10; //化成年
	Y2 = D;
	printf("%d:%d:%d %d.%d.%d\n",H2, M2, S2, D2, Mo2, Y2);
}

int main()
{
	int T;
	scanf("%d", &T);
	while (T--)
		Solve();
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -