题目背景
瑞年判断
判断闰年条件①:非整百年数除以4,无余为闰,有余为平;②整百年数除以400,无余为闰有余平。
(a % 4 == 0 && a % 100 != 0) || (a % 400 == 0)
代码实现
#include <iostream>
using namespace std;
//判断是否是瑞年
int leap(int a) {
if ((a % 4 == 0 && a % 100 != 0) || (a % 400 == 0)) {
return 1;
} else {
return 0;
}
}
int number(int year, int m, int d) {
int sum = 0;
int i, j;
int a[2][12] = {{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
};
int type = leap(year);
for (i = 0; i < m - 1; ++i) {
sum += a[type][i];
}
for (j = 2000; j < year; ++j) {
sum += type ? 366 : 365;
}
sum += d;
return sum;
}
int main() {
int year, m, d, n;
cout << "请输入年 月 日:";
cin >> year >> m >> d;
n = number(year, m, d);
if ((n % 5) < 4 && (n % 5) > 0) {
cout << "打鱼" << endl;
} else {
cout << "晒网" << endl;
}
return 0;
}