题目描述
输入一个正整数 nn,并输出一个沙漏形,这个沙漏形有 2n+12n+1 行,第一行有 2n+12n+1 个字母,其中前 n+1n+1 个字符是从 AA 开始依次递增的,而后 nn 个字符是由第 n+1n+1 个字符开始依次递减的。之后的 nn 行每行会少头尾两个字母。再之后的 nn 行则正好是前 nn 行反过来输出的结果。注意末尾不要有多余的输出。
输入
输入一个正整数 nn。(0<n<26)(0<n<26)
输出
按照样例输出。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
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++)
{
for(int j = 0; j < i; j++)
cout << " ";
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;
}
样例输入
2
样例输出
ABCBA
BCB
C
BCB
ABCBA
样例输入2
3
样例输出2
ABCDCBA
BCDCB
CDC
D
CDC
BCDCB
ABCDCBA