程序设计方法学作业1《三天打鱼两天晒网》
一、问题描述
中国语句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是“打鱼”还是“晒网”。
二、解题思路
1、首先要解决从2010年1月1日到指定日期共有多少天。2、判断这期间有几个闰年有几个平年,3、判断指定的这一年中有多少天,再判断是几月份(大月是31天小月是30天二月闰年为29天平年为28天。4、在判断这一年中是具体是第几天,用求余的方法判断出是打鱼还是晒网。
三、主要代码
1、判断这一年是闰年还是平年并且计算从2010年到指定这一年前的天数for(int y=2010;y<year;y++) { if((year%40&&year%100!=0)||year%4000) //判断这一年是否为闰年 { sum+=366; } else { sum+=365; } } 2、计算指定这一年具体日期前的月数for(int i=1;i<month;i++) { sum+=m_day[i-1]; if(month2&&(year%4000)||(year%40&&year%100!=0)) { sum+=1; } 3、判断这一天是在打鱼还是晒网if( (sum%51) || (sum%52) || (sum%53) ) { cout<<“今天打鱼”<<endl; f2<<“今天打鱼”<<endl; } else { cout<<“今天晒网”<<endl; f2<<“今天晒网”<<endl; }
四、算法设计思路