今天小明想要去找小红约会,于是他中午吃过饭就跑去和妈妈说要去小红家,小明妈妈说作业写完了再去,但是小明不想写高数和现代作业(应为太难了.......)。于是,小明一直缠着妈妈,最后小明妈妈要给小明出一

#include<bits/stdc++.h>
using namespace std;
int rn(int y)//对闰年的判断
{
    if(y%400==0||(y%4==0&&y%100!=0))
        return 1;
    return 0;
}
int main()
{
    int i,y,m,d;
    int t[2][13]= {{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};//二维数组存平年和闰年每个月的天数 去掉t[0][0] 和t[1][0] 
    while(scanf("%d %d %d",&y,&m,&d)!=EOF) {
        if(rn(y)==0&&m==2&&d>28||y==0||m==0||d==0||d>t[rn(y)][m]||m>12)//对不合规则的日期的判断  从0001年一月一日算起 
        {
            printf("illegal\n");
        }
        else
        {
            for(i=1; i<y; i++)
                d+=365+rn(i);//如果是闰年返回1否则返回0   day加上年所含有的天数 
            for(i=1; i<m; i++)
                d+=t[rn(y)][i];// day加上月所含有的天数 
            d%=7;
            if(d==0)
                printf("Sunday\n");
            else if(d == 1)
                printf("Monday\n");
            else if(d == 2)
                printf("Tuesday\n");
            else if(d == 3)
                printf("Wednesday\n");
            else if(d == 4)
                printf("Thursday\n");
            else if(d == 5)
                printf("Friday\n");
            else if(d == 6)
                printf("Saturday\n");
        }
    }
    return 0;

猜你喜欢

转载自blog.csdn.net/qq_40835329/article/details/81229397