Date类问题2

来源:互联网 发布:linux安装jdk1.8 rpm 编辑:程序博客网 时间:2024/05/22 03:32

#include<stdio.h>#define isyear(x) x%100!=0&&x%4==0||x%400==0?1:0//宏定义判断是否是闰年,闰年2月29天,平年28天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 count=0;tmp.year=0;tmp.month=1;tmp.day=1;while(tmp.year!=5001){    buf[tmp.year][tmp.month][tmp.day]=count;    tmp.nextDay();    count++;}int y1,m1,d1;int y2,m2,d2;while(scanf("%4d%2d%2d",&y1,&m1,&d1)!=EOF){    scanf("%4d%2d%2d",&y2,&m2,&d2);    printf("%d\n",abs(buf[y1][m1][d1]-buf[y2][m2][d2])+1);}return 0;*/#include<stdio.h>#define year(x) x%100!=0&&x%4==0||x%400==0?1:0//宏定义判断是否是闰年,闰年2月29天,平年28天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][year(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 count=0;    tmp.year=0;    tmp.month=1;    tmp.day=1;    while(tmp.year!=5001)    {        buf[tmp.year][tmp.month][tmp.day]=count;        tmp.nextDay();        count++;    }    int y,d;    int n;    scanf("%d",&y);    scanf("%d",&d);    n=buf[y][1][1]+d-1;    int a,b,c;    for(a=0; a<5001; a++)    {        for(b=0; b<13; b++)        {            for(c=0; c<32; c++)            {                if(buf[a][b][c]==n)                {                    printf("%d\n",b);                    printf("%d\n",c);                    break;                }                else continue;            }        }    }    return 0;}


原创粉丝点击