三天出海打渔,回来用两天时间修补晾晒渔网,这是打渔的最佳方式。每天打渔每天晒网的方式是不可能的。出海打渔期间是不可能修补渔网的。
“三天打鱼,两天晒网”是俗语,不是成语!
“三天打鱼,两天晒网”的正确含义是做每件事都有自己的正确方式,不能照搬,也不能蛮干,更不能偷懒。
学习必须坚持每天学习,不能三天学习,两天休息
打渔不能每天晒网,“三天打鱼,两天晒网”是打渔的最佳方式。
//打渔晒网问题
//编程实现当输入2015年1月1日后任意的某一天,输出该渔夫是在打渔还是在晒网
#include<stdio.h>
int leap(int a)
{
if(a%4==0&&a%100!=0||a%400==0) //闰年判定条件
return 1; //是闰年返回1
else
return 0; //不是闰年返回0
}
int number(int year,int m,int d) //自定义函数number()计算输入日期距
{
int sum=0,i,j,k,a[12]={31,28,31,30,31,30,31,31,30,31,30,31}; //数组a存放平年每月的天数
int b[12]={31,29,31,30,31,30,31,31,30,31,30,31}; //数组b存放闰年每月的天数
if(leap(year)==1)
for(i=0;i<m-1;i++)//判断是否为闰年
sum+=b[i]; //是闰年,累加数组b前m-1个月份的天数
else
for(i=0;i<m-1;i++)
sum+=a[i]; //不是闰年,累加数组a前m-1个月份的天数
for(j=2015;j<year;j++)
if(leap(j)==1)
sum+=366; //2015年到输入的年份是闰年的加366
else
sum+=365; 2015年到输入的年份不是闰年的加365
sum+=d; //将前面累加的结果加上日期,求出总天数
return sum; //返回计算天数
}
main() /*main()函数作为程序的入口函数*/
{
int year,month,day,n;
printf("请输入年月日\n");
scanf("%d%d%d",&year,&month,&day);
n=number(year,month,day);
if((n%5)<4&&(n%5)>0) //当余数是1或2或3时说明在打渔,否则在晒网
printf("%d:%d:%d 打渔\n",year,month,day);
else
printf("%d:%d:%d 晒网\n",year,month,day);
}