HUD_2005

Problem Description

给定一个日期,输出这个日期是该年的第几天。

Input

输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。

Output

对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input

1985/1/20 2006/3/12

Sample Output

20 71

开13行2列的二维数组存储和闰年判断

#include <cstdio>
#define ISYES(x) (x%100 != 0)&&(x%4 == 0)||x%400 == 0 ? 1:0

int dayMonth[13][2] = {
	0,0,
	31,31,
	28,29,
	31,31,
	30,30,
	31,31,
	30,30,
	31,31,
	31,31,
	30,30,
	31,31,
	30,30,
	31,31};



int main(){
	int x,y,z;
	while(scanf("%d/%d/%d",&x,&y,&z) != EOF){
		int sum = 0;
		for(int i = 0;i < y;i++){
			sum += dayMonth[i][ISYES(x)];
		}
				
		printf("%d\n",sum+z);
		
	}
	
	return 0;
}





猜你喜欢

转载自blog.csdn.net/qing_feng__/article/details/86714769
HUD