一个年份满足以下条件之一则是闰年:
1、该年份能被4整除,但不能被100整除;
2、该年份能被400整除;
给你一个日期,知道这一天是星期几,然后再给你一个日期,问你这一天又是星期几。
关键步骤就是那个mon数组啊,你就设置成
int mon[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};
然后问题就迎刃而解了。
已知1900年1月1日是星期一
#include<bits/stdc++.h>
using namespace std;
bool runnian(int x){
if((x%4==0&&x%100!=0)||(x%400==0)){
return true;
}
return false;
}
int mon[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};
int main(){
int y,m,d;
scanf("%d-%d-%d",&y,&m,&d);
long long res = 0;
for(int i=1900;i<y;i++){
if(runnian(i)){
res+=366;
}
else{
res+=365;
}
}
for(int i=1;i<m;i++){
res+=mon[runnian(y)][i];
}
res += d-1;
string ss[7] = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
res= res%7;
cout<<ss[res];
}