三天打鱼两天晒网

来源:互联网 发布:数据结构与算法 c语言 编辑:程序博客网 时间:2024/05/16 19:06
#include<stdio.h> 
#include<iostream>
int fishing(int year,int month,int day); 
using namespace std;
int main() 

int year,month,day; 
cout<<"请输入一个日期:"; 
cin>>year>>month>>day; 
fishing(year,month,day); 
return 0; 

int fishing(int year,int month,int day) 

int n=0;   //代表闰年个数 
int a;   //代表月数之差 
int sum_y,sum_m;   //由年数差,月数差换算成天数差
int sum;   //从2010/01/到某年的总天数 
int k;   //代表是求模数,0,1,2代表打鱼,3,4代表晒网 
int m;   //计算闰年时使用的参数 
for(m=2010;m<year;m++) 

if((m%4==0&&m%100!=0)||(m%400==0))
n++;    //闰年个数

sum_y=(year-2010)*365+n;   //年数差换算成的天数
    a=month-1; //计算月份差
if((year%4==0&&year%100!=0)||(year%400==0))
{
switch(a) 

case 0: sum_m=0; break; 
case 1: sum_m=31; break; 
case 2: sum_m=60; break; 
case 3: sum_m=91; break; 
case 4: sum_m=121; break; 
case 5: sum_m=152; break; 
case 6: sum_m=180; break; 
case 7: sum_m=211; break; 
case 8: sum_m=244; break; 
case 9: sum_m=274; break; 
case 10: sum_m=305; break; 
case 11: sum_m=335; break; 
}
}
else
switch(a) 

case 0: sum_m=0; break; 
case 1: sum_m=31; break; 
case 2: sum_m=59; break; 
case 3: sum_m=90; break; 
case 4: sum_m=120; break; 
case 5: sum_m=151; break; 
case 6: sum_m=179; break; 
case 7: sum_m=210; break; 
case 8: sum_m=243; break; 
case 9: sum_m=273; break; 
case 10: sum_m=304; break; 
case 11: sum_m=334; break; 
}
//本年月数差计算天数差
sum=sum_y+sum_m+day; 
k=sum%5;//求模,  1,2,3代表打鱼,4,5代表晒网  
switch(k) 

case 1:
case 2:
case 3:cout<<"今天该打鱼"<<endl; break; 
case 4:
case 5:cout<<"今天该晒网"<<endl; break; 

return 0; 
}
0 0