日期——贵州大学考研机试题

119 阅读1分钟

日期

今天是 20122012 年 44 月 1212 日星期四,编写程序,输入今天开始到 1212 月 3131 日之间的任意日期,输出那一天是星期几。

输入格式

共两行,第一行包含一个整数 mm,表示询问日期的月份。

第二行包含一个整数 dd,表示询问日期的为该月的第几天。

输出格式

输出询问日期是星期几。

注意,要用英文表示。

周一到周日的英文表示如下:

"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"

数据范围

4≤m≤124≤m≤12, 1≤d≤311≤d≤31, 保证日期合法。

输入样例:

5
20

输出样例:

Sunday
#include <bits/stdc++.h>
​
using namespace std;
​
const int months[] = {
    0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
};
​
const string dates[] = {
    "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
};
​
int main()
{
    int month, day;
    cin >> month >> day;
    
    int m = 4, d = 12, date = 4;
    while (m < month || d < day)
    {
        d ++;
        if(d > months[m])
        {
            d = 1;
            m ++;
        }
        date = (date + 1) % 7;
    }
    cout << dates[date] << endl;
}

\