假如要打印2018年所有的星期三,已知2018年的1月3号是新年的第一个星期三。
要知道润年是365天,也就是二月的最后一天是29号,平年是365天,二月的最后一天是28号。1,3,5,7,8,10,12月有31天,其余月是30天。我们可以用一个数组来表示每个月的天数。
程序代码如下
void printWednesday()
{//2018年1月3号是星期三
int Nums[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
bool leaped = true;//是润年
if (!leaped) //2018年是平年
Nums[2] = 29;
int month = 1,day=3;
while (month <=12)
{
cout << month << "月" << day << "日" << endl;
day += 7;
if (day > Nums[month])
{
day -= Nums[month];
++month;
}
}
}