您的位置:首页 > 其它

九度考研真题 清华 2003-3清华1070:今年的第几天 日期

2015-10-22 15:21 316 查看
//1070:今年的第几天

#include<iostream>

using namespace std;

#define ISYEAR(x) x%4==0&&x%100!=0||x%400==0?1:0

int dayOfmonth[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};

struct Date{

int year;

int month;

int day;

void nextday(){

day++;

if(day>dayOfmonth[month][ISYEAR(year)]){

month++;day=1;

if(month>12){

year++;month=1;

}

}

}

};

int buf[3003][13][32];

int main()

{

Date tmp;

tmp.year=0;

tmp.day=1;

tmp.month=1;

int ant=0;

while(tmp.year!=3001){

buf[tmp.year][tmp.month][tmp.day]=ant;

tmp.nextday();ant++;

}

int y,m,d;

while(cin>>y>>m>>d){

cout<<buf[y][m][d]-buf[y][1][1]+1<<endl;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: