POJ 2964:日历问题

来源:互联网 发布:乌合之众知乎 编辑:程序博客网 时间:2024/05/20 01:13
#include <stdio.h>#include <stdlib.h>int main(){    int y=2000,d,t;    int i,m,n=999;    char w[7][10]={"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"};    int p[12]={31,28,31,30,31,30,31,31,30,31,30,31};    while(scanf("%d",&d) && d!=-1)    {        y=2000;        p[1]=28;        d=d+1;        t=d;        for(;d>=367;)        {            if(y % 4 == 0 && y %100 !=0 || y % 400 == 0)                d=d-366;            else                d=d-365;            y=y+1;        }        if(y % 4 == 0 && y %100 !=0 || y % 400 == 0)                p[1]=29;            for(i=0;i<12;i++)                {                    if(d>p[i])                        d=d-p[i];                    else                        break;                }                if(i+1>12)                {y=y+1;                i=0;                d=1;}                m=(t-1)%7;            printf("%d-%02d-%02d %s\n",y,i+1,d,w[m]);            p[1]=28;            n--;            }    return 0;}
0 0
原创粉丝点击