题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb
今天是2012年4月12日星期四,编写程序,输入今天开始到12月31日之间的任意日期,输出那一天是星期几。例如输入“5(回车)20(回车)”(5月20日),输出应为“Sunday”。
输入输出格式
输入描述:
输入第一行为月份。 输入第二行为这个月的第几天。
输出描述:
输入这一天是星期几。
输入输出样例
输入样例#:
5 20
输出样例#:
Sunday
代码:
#include<iostream>
using namespace std;
int days[] = {0, 30, 31, 30, 31, 31, 30, 31, 30, 31};//4月之后每月的天数,第一个元素为0便于计数
string week[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
int cal_days(int y, int d)
{
//计算该日期与4月12相隔的天数
int num = 0;
for (int i = 0; i <= y-4; i++)
num += days[i];
num += d;
num -= 12;
return num;
}
int main()
{
int ans = 4;
int y, d;
cin >> y >> d;
ans += cal_days(y, d);
ans %= 7;//计算星期
cout << week[ans] << endl;
return 0;
}