打印日历-题解

描述

给出一个月有多少天, 以及这个月的1号是星期几, 按照下列格式打印这个月的日历:

1
2
3
4
5
6
Su	Mo	Tu	We	Th	Fr	Sa
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

从Su到Sa代表星期日到星期六.

输入描述

两个整数
n(28<=n<=31)表示这个月的天数
k(0<=k<=6)表示这个月的1号是星期几, 其中k=0表示是星期日.

输出描述

第一行, 打印星期天到星期六的符号.
第二行开始, 依次打印每一天的日期.
打印时使用制表符’\t’间隔(如果1号不是星期天, 那么需要在第二行前添加’\t’缩进);

代码

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
#include <bits/stdc++.h>
using namespace std;

int main(){
int day;
int sq;
cin >> day >> sq;
cout << "Su\tMo\tTu\tWe\tTh\tFr\tSa\n";
int i;
int s = 2;

for(i = 1; i <= sq; i++){
s++;
cout << "\t";
}
for(i = 1; i <= day; i++){
if(s<=7){
cout << i << "\t";
}
else {
cout << i << endl;
s = 1;
}
s = s + 1;
}
return 0;
}

打印日历-题解
https://chenxi-tijie.pages.dev/2025/07/打印日历-题解/
作者
chenxi
发布于
2025年7月5日
许可协议