1.3 打鱼还是晒网

发布时间 2023-04-18 23:26:13作者: 自律小子丶

第一部曲:思路:输入日期,然后求出从1990年1月1日距离目标日期的的天数,最后再取余5,根据余数判断打鱼还是晒网。

第二部曲:

 第三部曲:cin>>year>>month>>day; 用函数封装求到目标日期的天数,result。对result取余,判断是否打鱼还是晒网。

第四部曲:

#include<iostream>
using namespace std;
int permonth[13]={0,31,28,31,30,31,30,31,31,30,31,30};
bool isleapyear(int n)//判断闰年函数
{
if((n%4==0&&n%100!=0)||(n%400==0))
return true;
else
return false;
}
int days(int year,int month,int day)//求到目标日期之前的天数
{
int i,sum=0;
for(i=1990;i<month;i++)//目标年份的前一年,整年天数相加
{
if(isleapyear(i))
sum+=366;//如果是闰年加366
else
sum+=365;
}
if(isleapyear(year))
permonth[2]++;//如果是闰年二月天数变成29
for(i=0;i<month;i++)
{
sum+=permonth[i];//加目标月数前一天每一个月的天数
}
sum+=day;//最后加目标天数
return sum;
}
int main()
{
int year,month,day;
scanf("%d-%d-%d",&year,&month,&day);
int result=days(year,month,day);
if(result%5>0&&result%5<4)//判断
cout<<"今天打鱼";
else
cout<<"今天晒网";

return 0;
}