输出字母沙漏

简介: 输出字母沙漏


题目描述

输入

输入一个正整数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;
}
相关文章
|
5天前
用*号输出字母C的图案
用*号输出字母C的图案。
15 2
|
5天前
PTA-输入一个字符ch,然后输出与它前后相邻的两个字符
输入一个字符ch,然后输出与它前后相邻的两个字符
50 1
|
5天前
L1-002 打印沙漏
L1-002 打印沙漏
17 0
|
5天前
|
机器学习/深度学习 C语言 C++
『C/C++』Eg5: 打印沙漏
『C/C++』Eg5: 打印沙漏
|
8月前
|
存储 C语言
探索编程中的字母转换:如何将字母变为二进制矩阵?
二进制是学习计算机语言中一个非常重要的知识点,笔者将通过这篇文章帮助读者了解进制转换在程序中的运用,借助进制转化实现火柴形状的字母输出。
110 0
|
11月前
|
算法
统计文本中单字母、双字母、三字母的频率
统计文本中单字母、双字母、三字母的频率
67 0
|
11月前
从键盘上输入m与n(m<=n且m>3),输出从m到n之间的所有素数(以逗号间隔,即输出一个整数后再输出一个逗号)。
从键盘上输入m与n(m<=n且m>3),输出从m到n之间的所有素数(以逗号间隔,即输出一个整数后再输出一个逗号)。
120 0
|
12月前
7-138 打印沙漏
7-138 打印沙漏
60 0
|
机器学习/深度学习 CDN
编写程序统计从键盘输入的一行文本中各个字母的个数。 输入以回车键结束。 不区分大小写,大写字母与相应的小写字母按照同一个字母看待。 要求输出按照各个字母出现的个数从大到小进行排序,出现的个数相同的,按
编写程序统计从键盘输入的一行文本中各个字母的个数。 输入以回车键结束。 不区分大小写,大写字母与相应的小写字母按照同一个字母看待。 要求输出按照各个字母出现的个数从大到小进行排序,出现的个数相同的,按
324 0
|
机器学习/深度学习 算法 C++
「算法」方阵打印数字问题
想当初我是真的暴力到了机制,面对一个vs的图标,一行一行找规律把它打印出来,简直佛了...🤺。这里先汇总两种题: 方阵蛇形填数, 矩阵上三角。
149 0
「算法」方阵打印数字问题