当前位置:新励学网 > 秒知问答 > C语言“三天打鱼两天晒网”问题

C语言“三天打鱼两天晒网”问题

发表时间:2024-07-19 17:04:47 来源:网友投稿

根据题意可以将解题过程分为三步:

1、计算从1990年1月1日开始至指定日期共有多少天;

2、由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5去除;

3、根据余数判断他是在“打鱼”还是在“晒网”;若余数为1,2,3,则他是在“打鱼”;否则是在“晒网”。

#include/*定义日期结构体*/typedefstructdate{intyear;intmonth;intday;}DATE;/*判断是否为闰年,是返回1,否返回0*/intisLeap(intyear){return((year%4==0&&year%100!=0)||(year%400==0));}/*计算指定日期距离1990年1月1日的天数*/intcountDay(DATEcurrentDay){intperMonth[13]={0,31,28,31,30,31,30,31,31,30,31,30};/*每月天数数组*/inttotalDay=0,year,i;/*求出指定日期之前的每一年的天数累加和*/for(year=1990;year12) {printf(Themonthinputiserror!\n);error=1;} if(today.day31) {printf(Thedayinputiserror!\n);error=1;} printf(======================================================\n\n);}while(error);totalDay=countDay(today);/*求出指定日期距离1990年1月1日的天数*//*天数%5,判断输出打鱼还是晒网*/result=totalDay%5;if(result>0&&result<4)printf(fishing!\n);elseprintf(sleeping!\n);printf(\n);return0;}运行结果

1991/10/25,打渔

1992/10/25,晒网

日期输入错误

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!