用c++代码实现输出2022年历
时间: 2023-11-22 16:55:49 浏览: 40
以下是使用 C++ 代码实现输出 2022 年历的示例:
```
#include <iostream>
using namespace std;
int main()
{
int year = 2022;
int firstDay = 6; // 2022年1月1日是星期六,因此第一天为6
int monthDays[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 每个月的天数
string weekDays[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; // 一周的天数
cout << "2022 Calendar" << endl;
// 输出每个月的日历
for (int month = 1; month <= 12; month++)
{
int daysInMonth = monthDays[month - 1];
// 如果是闰年2月,则天数加1
if (month == 2 && year % 4 == 0 && (year % 100 != 0 || year % 400 == 0))
{
daysInMonth++;
}
cout << endl << " " << month << "月" << endl;
// 输出星期几
for (int i = 0; i < 7; i++)
{
cout << weekDays[i] << " ";
}
cout << endl;
// 输出日期
int day = 1;
for (int i = 0; i < 6; i++)
{
for (int j = 0; j < 7; j++)
{
if (i == 0 && j < firstDay)
{
cout << " ";
}
else if (day > daysInMonth)
{
cout << " ";
}
else
{
cout << day << " ";
day++;
}
}
cout << endl;
}
// 更新第一天是星期几
firstDay = (firstDay + daysInMonth) % 7;
}
return 0;
}
```
输出结果如下:
```
2022 Calendar
1月
Sun Mon Tue Wed Thu Fri Sat
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
2月
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28
3月
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
4月
Sun Mon Tue Wed Thu Fri Sat
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30
5月
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
6月
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
7月
Sun Mon Tue Wed Thu Fri Sat
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
8月
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
9月
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
10月
Sun Mon Tue Wed Thu Fri Sat
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
11月
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
12月
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
```