POJ 2964 日历问题

来源:互联网 发布:算法导论有第四版吗 编辑:程序博客网 时间:2024/06/12 01:25
#include <stdio.h>


int type(int);
char week[7][10] = {"Saturday","Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};
int year[2] = {365,366};
int month[2][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};


int main()
{
    int days,daysofweek;
    int i = 0 ,j = 0;
    while(scanf("%d",&days) && days != -1){
        daysofweek = days%7;
        for(i = 2000; days >= year[type(i)]; i++){
            days -= year[type(i)];
        }
        for(j = 0; days >= month[type(i)][j] ; j++)
            days -= month[type(i)][j];
        printf("%d-%02d-%02d %s\n",i,j+1,days+1,week[daysofweek]);


    }
    return 0;
}


int type(int year)
{
    if(year%4==0&&year%100!=0||year%400==0)
        return 1;
    return 0;
}