概述
俗话说三天打渔两天晒网,某人从2010年1月1日开始打三天鱼,然后晒两天网,然后再打三天鱼,再晒两天网,周而复始,输入任意一天,求该天是打渔还是晒网
#include <stdlib.h>
// 功能:从2010年1月1日起判断输入时期是否为打渔
// 输入: unsigned int
nYear 输入日期的年, unsigned int nMonth 输入日期的月,
unsigned int nDay 输入日期的日
// 输出:无
// 返回: 1 表示该天为打渔,0表示该天为晒网
unsigned int
IsTodayFishing (unsigned int
nYear, unsigned int nMonth, unsigned int nDay)
{
if(nYear < 2010 || nMonth < 1 || nDay < 1)
return -1;
unsigned int days = (nYear - 2010) * 365;
for(unsigned int year = 2010; year < nYear; year++)//从2010年起,判断期间有几个闰年
{
if(year%4 == 0 && year%100 != 0 || year%400 == 0)
{
days++;//闰年一次天数加1
}
}
//判断当前年过了多少天
unsigned int Day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
if(nYear%4 == 0 && nYear%100 != 0 || nYear%400 == 0)
Day[2] = 29;
for(unsigned int i = 0; i < nMonth; i++)
{
days += Day[i];
}
days += nDay;//共有多少天
if(days%5 >= 1 && days%5 <= 3)
return 1;
return 0;
}
最后
以上就是开放向日葵为你收集整理的C/C++程序题之三天打渔两天晒网的全部内容,希望文章能够帮你解决C/C++程序题之三天打渔两天晒网所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复