一·问题描述

从1990年1月1日开始计算,前三天打渔后两天晒网问到输入年月日的那天实在干什么。

二设计思路

先把到当前年月日的天数计算出来然后对5取余,然后对取余数字分类123打渔45晒网。

三程序流程图

四伪代码的实现

#include<iostream>
using namespace std;
int main(){
int months[]={31,28,31,30,31,30,31,31,30,31,30,31};
int sum=0,r=0,year,month,day,cha,sumdays,days,a;
cin>>year;
cin>>month;
cin>>day;
cha=year-1990;//年份差值
for(int i=1990;i<=year-1;i++){//写入日期的前一年
if(i%400==0||i%4==0&&i%100!=0){
r++;//闰年加一
}
}
days=365*cha+r;//直到前一年的天数
for(int j=0;j<month-1;j++){//今年的天数
if((month-1)>=2&&year%4==0){
sum++;
}
sum=sum+months[j];
}
sumdays=sum+days+day;//总天数
cout<<sumdays<<endl;
cout<<sum<<" "<<days<<" "<<day;
a=sumdays%5;
if(a>>0&&a<=3){
cout<<"晒网"<<endl;
}
else{
cout<<"打渔"<<endl;
}
return 0;
}

五代码实现