『蓝桥杯』计算周几 和 计算日期
为了蓝桥的填空题也是什么都学。。。
『计算日期代码』
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int y,c;
int yy = 2019,mm = 3,dd = 2,add= 1000,flag = 0;
bool isleap(int year) {
if((year %4 == 0 && year%100 != 0) || year%400==0 )
return true;
else
return false;
}
int moon[][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() {
if(isleap(yy)) {
flag = 1;
}
add += (dd);
while(add > moon[flag][mm]) {
add -= moon[flag][mm];
mm++;
if(mm == 13) {
yy++;
mm = 1;
}
if(isleap(yy)) {
flag = 1;
} else
flag = 0;
}
cout<<yy<<":"<<mm<<":"<<add<<"\n";
return 0;
}
//1799:7:16
『代码』
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int y,c;
int yy = 2019,mm = 2,dd = 27;
void init() {
if(mm == 1 || mm == 2) {
if(mm == 1) mm = 13;
else mm = 14;
yy--;
}
y = yy%10 + (yy/10 %10)*10;
c = (yy - y)/100;
}
int main() {
init();
int w = y + y/4 + c/4 - 2*c + (26*(mm+1)/10)+dd-1;
cout<<(w+7)%7<<"\n";
return 0;
}