题目链接:http://acm.tju.edu.cn/toj/showp.php?pid=3251
题目大意:给定2009年的某日某月,判断那天是星期几,其中用例输出中给出里1月1日是星期四
思路:(1)算现在到1月1日的天数,再余7即可,余1即为星期四,后面的依次递增。对于每个月的天数,打表,平年的时候,2月为28天,其他的,“一 三 五 七 八 十 腊 三十一天永不差”
(2)判断是否为闰年,是(4的倍数但不是100的倍数)或者是400的倍数 就是闰年
代码:
#include <iostream>
using namespace std;
int main()
{
int a[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int i,d,m;
while(cin>>d>>m)
{
int sum = d;
for(i=0;i<m-1;i++)
sum+=a[i];
switch(sum%7) //switch 用法
{
case 1:cout<<"Thursday"<<endl;break;
case 2:cout<<"Friday"<<endl;break;
case 3:cout<<"Saturday"<<endl;break;
case 4:cout<<"Sunday"<<endl;break;
case 5:cout<<"Monday"<<endl;break;
case 6:cout<<"Tuesday"<<endl;break;
case 0:cout<<"Wednesday"<<endl;break;
default:break;
}
}
return 0;
}
判断闰年代码:
if(year%400==0||(year%4==0 && year%100!=0)){
cout<<year<<" 是闰年!!!!"<<endl;
}else{
cout<<year<<"是平年!!!!"<<endl;
}