输出字母沙漏
原创
©著作权归作者所有:来自51CTO博客作者yitahutu79的原创作品,请联系作者获取转载授权,否则将追究法律责任
题目描述
输入一个正整数 n,并输出一个沙漏形,这个沙漏形有 2n+1 行,第一行有 2n+1 个字母,其中前 n+1 个字符是从 A 开始依次递增的,而后 n 个字符是由第 n+1 个字符开始依次递减的。之后的 n 行每行会少头尾两个字母。再之后的 n 行则正好是前 n 行反过来输出的结果。注意末尾不要有多余的输出。
输入
输入一个正整数 n。(0<n<26)
输出
按照样例输出。
样例输入
2
样例输出
样例输入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;
}