【精品】打鱼晒网
//三天打鱼两天晒网从1992.1.1开始计算后面某一天是打鱼还是晒网
#include
#include
typedef struct D //定义日期的结构体包含三个变量 {
int year;
int month;
int day;
}DATA;
int Get(int year) //判断闰年 {
return (year%400 == 0||year%4==0&&year%100!=0);
}
int Getmaxday(int year,int month) //判断每个月的最大数 {
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
return Get(year)?29:28; //? :
default:return -1;
}
}
int Comepare(DATA data1,DATA data2)
{
if(data1.year == data2.year&&data1.month == data2.month&&data1.day
==data2.day)
return 1;
return 0;
}
int Getdays(DATA data1,DATA data2) //一天一天加知道两个日期相等
{
int X=0;
while(!Comepare(data1,data2))
{
if(data1.day!=Getmaxday(data1.year,data1.month))
data1.day++;
else if(data1.month!=12)
{
data1.month++;
data1.day = 1;
}
else {
data1.year++;
data1.month = data1.day = 1;
}
X++;
}
return X;
}
int main()
{
int datas;
DATA data1,data2; //定义日期并初始化
data1.year = 1992;
data1.month = 1;
data1.day = 1;
printf("请输入要查询的日期:");
scanf("%d%d%d",&data2.year,&data2.month,&data2.day);
datas = Getdays(data1,data2);
printf("日期差为:%d\n",datas);
if(datas%5==3||datas%5==4)
printf("晒网\n");
else
printf("打鱼\n");
system("pause");
return 0;
}