『蓝桥杯』计算周几 和 计算日期

为了蓝桥的填空题也是什么都学。。。

『计算日期代码』

#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;
}