题目描述
输入
输入一个正整数n
输出
按照样例输出。
样例输入
2
样例输出
ABCBA
BCB
C
BCB
ABCBA
样例输入2
3
样例输出2
ABCDCBA
BCDCB
CDC
D
CDC
BCDCB
ABCDCBA
做法1 —— 找规律
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; /* 以n=2为例 ABCBA共需要2*n+1=5个字节 */ string s(2 * n + 1, ' '); /* 左右对称地进行赋值 */ for (int i = 0; i <= n; ++i) s[i] = s[2 * n - i] = (char) ('A' + i); for (int i = 0; i <= n; ++i) { /* 第i行输出i个空格符 i的范围是从第0行到第n行 */ for (int j = 0; j < i; ++j) cout << " "; /* 字母则从s串的第i个字符开始输出 直到第2*n-i个字符(对称位置) */ for (int j = i; j <= 2 * n - i; ++j) cout << s[j]; cout << endl; } for (int i = n - 1; i >= 0; --i) { for (int j = 0; j < i; ++j) cout << " "; for (int j = i; j <= 2 * n - i; ++j) cout << s[j]; cout << endl; } return 0; }