题目
中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用C或C++语言/java/python实现程序解决问题。
基本要求:1.程序风格良好(使用自定义注释模板),提供友好的输入输出。
提高要求:1.输入数据的正确性验证。
2.使用文件进行数据测试。如将日期 20100101 20111214 等数据保存在in.txt文件中,程序读入in.dat文件进行判定,并将结果输出至out.txt文件。
程序思路
1、首先输入数据(年、月、日),判断其是否有误,若year<2010 or month<1 or month>12 or day<1 or day>31,则输入数据有误,反之,则正确;
2、判断从指定年到输入的年间的每一年是平年还是闰年, 闰年的判断条件是可被4整除且不能被100整除或整百的年数必须可以被400整除,即((i%4==0)&&(i%100!=0))||(i%400==0));
3.计算从指定年到输入年份前的总天数,从指定年到输入的年间的某一年若为平年,则totaldays=totaldays+365;若为闰年,则totaldays=totaldays+366;
4、计算从1月到输入月份前的总天数,还需判断是平年还是闰年,若为平年,则二月份为28天;若为闰年,则二月份为29天;
5、计算从1日到输入日期