【2016年中南大学研究生复试机试题 】1015: 第几天

题目描述

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

输入

数据格式为 YYYY/MM/DD组成, 具体参见输入示例。另外,所有输入数据是合法的。

输出

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

样例输入

1985/01/20
2006/03/12

样例输出

20
71

来源/分类

2016年中南大学研究生复试机试题  

解题思路

注意区分是不是闰年,然后累加。这题其实也可以反过来问,告诉你是一年的第几天,要你算出是几月几号。

AC Code

#include
#include
using namespace std;
int months[][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};
bool isLeapYear(int y){
	return (y%4==0 && y%100!=0) || y%400==0;
}
int main(){
	int y,m,d;
	while(~scanf("%d/%d/%d",&y,&m,&d)){
		int cnt=0;
		for(int i=0; i

 

你可能感兴趣的:(PIPIOJ)