第一周作业:三天打渔两天晒网
- 题目
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
- 问题分析与算法设计思路
计算输入日期与2010年1月1日之间的总间隔天数,用天数对5求余运算,余数为1、2、3时为打渔,余数为0、4时为晒网。注意闰年中二月份天数与平年不同带来的间隔天数计算影响。
闰年用伪语句描述如下:
如果((年能被4除尽且不能被100除尽)或能被400除尽)
则 该年是闰年;
否则 不是闰年。
在计算总天数时,我先计算所输入月份的1号前在该年累计天数,例如一月一日前累计0天,二月一日前累计31天,三月一日前累计59天(先设为平年,后调整),四月一日前累计90天等等以此类推。再使用for循环累计输入年份与2010年1月1日的天数差,if语句判断间隔年中是否有闰年,闰年则+366,平年则+365。再同理判断本年是否是闰年,加上天数。
提高要求:使用fprintf将结果输出到out.txt中。
- 流程图
- 调试及屏幕测试
测试
年份正确时
年份错误时
输入到out.txt中