您的位置:首页 > 其它

九度考研真题 2009-1上交1096:日期差值

2015-10-22 15:54 330 查看
//1096:日期差值

#include<iostream>

#include<stdio.h>

using namespace std;

#define ISYEAR(x) x%100!=0&&x%4==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 Day;

int Month;

int Year;

void nextday(){

Day++;

if(Day>dayOfmonth[Month][ISYEAR(Year)]){

Day=1;

Month++;

if(Month>12){

Month=1;

Year++;

}

}

}

};

int buf[5001][13][32];

int Abs(int x){

return x<0?-x:x;

}

int main()

{

Date tmp;

int cnt=0;

tmp.Day=1;

tmp.Month=1;

tmp.Year=0;

while(tmp.Year!=5001){

buf[tmp.Year][tmp.Month][tmp.Day]=cnt;

tmp.nextday();

cnt++;

}

int d1,m1,y1,d2,m2,y2;

while(scanf("%4d%2d%2d",&y1,&m1,&d1)!=EOF){

scanf("%4d%2d%2d",&y2,&m2,&d2);

printf("%d\n",Abs(buf[y2][m2][d2]-buf[y1][m1][d1])+1);

}

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