题目描述
​ 输入一个正整数 n,并输出一个沙漏形,这个沙漏形有 2n+1 行,第一行有 2n+1 个字母,其中前 n+1 个字符是从 A 开始依次递增的,而后 n 个字符是由第 n+1 个字符开始依次递减的。之后的 n 行每行会少头尾两个字母。再之后的 n 行则正好是前 n 行反过来输出的结果。注意末尾不要有多余的输出。

输入
​ 输入一个正整数 n。(0<n<26)
输出
​ 按照样例输出。

样例输入
2
样例输出

ABCBA
BCB
C
BCB
ABCBA

样例输入2
3
样例输出2

ABCDCBA
BCDCB
CDC
D
CDC
BCDCB
ABCDCBA

数据规模与约定
​ 时间限制:1 s

内存限制:256 M

100% 的数据保证 0<n<26

#include <iostream>
using namespace std;

int main() {
int n;
cin >> n;
for (int i = 0; i <= n; i++) {
for (int j = 0; j < i; j++) {
cout << " ";
}
for (int j = i; j <= n; j++) {
cout << (char)('A' + j);
}
for (int j = n - 1; j >= i; j--) {
cout << (char)('A' + j);
}
cout << endl;
}
for (int i = n - 1; i >= 0; i--) {
for (int j = 0; j < i; j++) {
cout << " ";
}
for (int j = i; j <= n; j++) {
cout << (char)('A' + j);
}
for (int j = n - 1; j >= i; j--) {
cout << (char)('A' + j);
}
cout << endl;
}
return 0;
}