打鱼还是晒网
问题描述
某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天是在“打鱼”还是“晒网”。
算法
数值计算算法
编写程序
#include <iostream>
using namespace std;
typedef struct date {
int year;
int month;
int day;
}DATE;
int runYear(int year)
{
if((year%4==0&&year%100==0)||(year%400==0))
return 1;
else
return 0;
}
int countDay(DATE currentDay)
{
int perMonth[13]={0,31,28,31,30,31,30,31,31,30,31,30};
int totalDay=0,year,i;
for(year=1990;year<currentDay.year;year++)
{
if(runYear(year))
totalDay=totalDay+366;
else
totalDay=totalDay+365;
}
if(runYear(currentDay.year))
perMonth[2]+=1;
for(i=0;i<currentDay.month;i++)
totalDay+=currentDay.day;
return totalDay;
}
int main()
{
int countDay(DATE);
int runYear(int);
DATE today;
int totalDay;
int result;
cout<<"please input 指定日期 包括年,月,日"<<endl;
cin>>today.year>>today.month>>today.day;
totalDay=countDay(today);
result=totalDay%5;
if(result>0&&result<4)
cout<<"今天打渔"<<endl;
else
cout<<"今天晒网"<<endl;
return 0;
}