问题概述:中国有句俗语叫“三天打鱼两天晒网”某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
整体思路如下:
1.计算从1990年1月1日开始至指定日期共有多少天;
2.由于“打鱼”和“晒网”的周期为5天,所以将计算出的天数用5取除;
3.根据余数判断他是在“打鱼”还是在“晒网”;若余数为1,2,3,则他是在“打鱼”;否则是在“晒网”
第一步:
首先,我们要判断用户输入的日期是否正确,在程序中规定日期的格式YYYYMMDD(年月日),并且只能为8位整数。采用INT(输入(XXX)即输入只能为整数,输入字符串时会产生异常,会提醒你输入整数。通过列表,将输入的数字转为数组,方便之后提取年月日,也方便求输入的长度;通过LEN(日期)判断输入是否为8位,如果输入的不够八位数或者超过时也会产生异常,当输入正确的日期后,首先会数组提取日期,即数组0-3为年,4-5位月份,6-7为日。首先根据年份判断该日期是否在2010年之后,若不是则会产生异常。
第二步:
获取到正确的输入日期信息以后就要来计算距离1990年1月1日的总天数了通过自定义函数来判断是否是闰年。
第三步:
接下来算用户输入日期这一年已经过了多少天,如果是闰年2会有29天,其他情况1、3、5、7、8、10、12月有31天,4、6、9、11有30天。所以首先要