/*
题目:打鱼晒网
专业:软件工程
学号:**
姓名:**
思路: 主要判断所要查询年份的1月1日在干什么,假设1 2 3 4 5 代表第一天打鱼,第二天打鱼,第三天打鱼,第四天晒网,第五天晒网。
假设2016年1月1日为1 ,表示该天第一天打鱼
*/
#include<stdio.h>
#include<stdlib.h>
int Judge(int year) //判断闰年、平年。闰年返回1,平年返回0;
{
//闰年
if(year%4==0||(year%100==0&&year%400==0)) //闰年 366
return 1 ;
else
return 0; //平年 365
}
int quire(int Quire_year) //判断要查询年份的1月1日第几天在干嘛
{
int temp=1;
for(int i=2017;i<Quire_year;i++)
{
if(Judge(i-1))
temp++;
if(Judge(i-1))
temp=temp;
if(Judge(i-1)&&temp==5)
temp=1;
}
printf("查询年份的1月1日=%d\n",temp);
return temp; //返回值为所查年份的1月1日的数字 假设p=2.则1月1日在第二天打鱼
}
int Month_Day(int year,int Month,int Day) //返回这一年的这个月份是总共几天
{
int Sum=0;
int Nonleap[]={31,28,31,30,31,30,31,31,30,31,30,31};
int leap[]={31,29,31,30,31,30,31,31,30,31,30,31};
if(!Judge(year))
for(int i=1;i<Month;i++)
Sum=Sum+Nonleap[i];
else
for(int i=1;i<Month;i++)
Sum=Sum+leap[i];
Sum=Sum+Day;
return Sum;
}
int main()
{
int Year[3];
printf("请输入年\n");
scanf("%d",&Year[0]);
printf("请输入月\n");
scanf("%d",&Year[1]);
printf("请输入日\n");
scanf("%d",&Year[2]);
int p=Month_Day(Year[0],Year[1],Year[2])+quire(Year[0]);
printf("%d\n",p);
if(0<p%5&&p%5<4)
printf("这天在打鱼 %d",p);
else
printf("这天在晒网 %d ,p");
return 0;
}