打鱼还是晒网?
中国有句俗话叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
1.建立结构体Date其中包含year,month,day,三项。
2.计算输入日期距离1990.1.1的总共天数;
3用总共的天数对5(活动的一个周期)取余,若余数为1,2,3则是打鱼否则是晒网。

#include<iostream>
using namespace std;
class Date
{
private:
int year, month, day;
public:
Date(int y, int m, int d) {
year = y;
month = m;
day = d;
}
int runyear(int y) {
if ((y % 4 == 0 && y % 100 != 0) || (y% 400 == 0))
return 1;
else
return 0;
}
int countday(Date date) {
int permonth[13] = { 0,31,28,31,30,31,30,31,31,30,31,30 };
if (runyear(date.year)) permonth[2] = { 29 };
int sumday = 0, y, i;
for (y = 1990; y < date.year; y++) {
if (runyear(y))
{
sumday += 366;
}
else {
sumday += 365;
}
}
for (i = 0; i < date.month; i++)
{
sumday += permonth[i];
}
cout << date.year << " " << date.month << " " << date.day << " " << endl;
sumday += date.day;
return sumday;
}
};
int main()
{
int y, m, d, total, result;
cin >> y >> m >> d;
Date date(y, m, d);
total = date.countday(date);
result = total % 5;
if (result > 0 && result < 4) {
cout << "打鱼" << endl;
}
else {
cout << "晒网" << endl;
}
return 0;
}

浙公网安备 33010602011771号