天天看點

NYOJ-日期計算

日期計算

時間限制: 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>
bool leap_year(int x)
{
	if(x%4==0&&x%100!=0||x%4==0&&x%400==0)
	return true;
	else
	return false;
}
int f[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main()
{
	int T;
	scanf("%d",&T);
	while(T--)
	{
		int year,month,day,i,sum=0;
		scanf("%d%d%d",&year,&month,&day);
		for(i=1;i<month;++i)
		sum+=f[i];
		if(leap_year(year)&&month>2)
		sum++;
		sum+=day;
		printf("%d\n",sum);
		
	}
	return 0;
}