日期计算
时间限制:
3000 ms | 内存限制:
65535 KB
难度:
1
-
描述
-
如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。
-
输入
- 第一行输入一个数N(0<N<=100),表示有N组测试数据。后面的N行输入多组输入数据,每行的输入数据都是一个按题目要求格式输入的日期。 输出
- 每组输入数据的输出占一行,输出判断出的天数n 样例输入
-
3 2000 4 5 2001 5 4 2010 10 24
样例输出
-
96 124 297
#include<stdio.h>
int main( void )
{
int a1[12] = {31,28,31,30,31,30,31,31,30,31,30,31};//非闰年各个月的天数
int a2[12] = {31,29,31,30,31,30,31,31,30,31,30,31};//闰年各个月的天数
int y = 0;//年
int m = 0;//月
int d = 0;//天
int i = 0;
int sum = 0;//保存总天数
int N = 0;
scanf("%d",&N);
while( N-- )
{
scanf("%d%d%d",&y,&m,&d);
if( y % 4 == 0 && y % 400 != 0 || y % 400 == 0 )//润年
{
for( i = 0; i < m - 1; i++ )//计算当前月之前几个月的总天数
{
sum += a2[i];
}
sum += d;//加上本月的天数
}
else
{
for( i = 0; i < m - 1; i++ )//计算当前月之前几个月的总天数
{
sum += a1[i];
}
sum += d;//加上本月的天数
}
printf("%d\n",sum);
sum = 0;
}
//printf("\n\nHello World!\n");
return 0;
}