?? pku2210.cpp
字號(hào):
#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; //化成小時(shí)
H2 = S; //求小時(shí)
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;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -