1:读入n,用for循环年数;
2:再for循环月数;
3:用一个函数来算这个月有多少天;
4:假设是每个月的第一天,先用天数加十二。(每月十三号)来判断是星期几,统计。
5:加上这个月的天数;
6:输出;(注意题目的输出格式)
#include<iostream>
using namespace std;int days(int year,int month)
{
int day;
switch(month)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
{
day = 31;
break;
}
case 2 :
{
if (((year % 4 == 0)&&(year % 100 != 0))||(year % 400 == 0))
{
day = 29;
}
else
{
day = 28;
}
break;
}
case 4:
case 6:
case 9:
case 11:
{
day = 30;
break;
}
}
return day;
}
int main()
{
int week[8] = {0};
int i,n,year,month,day,now,d;
cin >> n;
now = 1;
for(year = 1900;year <= 1900 + n - 1;year++)
{
for (month = 1; month < 13 ;month++ )
{
day = days(year,month);
week[(now + 12) % 7]++;
now = now + day;
}
}
cout << week[6];
for (i = 0;i < 6;i++)
cout << ' ' << week[i];
cin >> day;
return 0;
}