输出字母沙漏

简介: 输出字母沙漏


题目描述

输入

输入一个正整数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;
}
相关文章
|
2月前
判断输入的字母是元音,还是辅音
【10月更文挑战第15天】判断输入的字母是元音,还是辅音。
40 5
|
2月前
|
存储
循环输出 26 个字母
【10月更文挑战第20天】循环输出 26 个字母。
29 7
|
3月前
用*号输出字母C的图案
用*号输出字母C的图案。
59 16
|
7月前
|
C语言
【汇编语言实战】给定一个句子,将大写字母变为小写
【汇编语言实战】给定一个句子,将大写字母变为小写
81 1
|
7月前
|
C++
写一个函数,输入一个四位数字,要求输出这四个数字字符,但每两个数字间空一个空格。如输入1990,输出1 9 9 0
这是一个C++代码片段,实现了一个函数`Print`,用于倒序打印整数。代码在`main`函数中读取用户输入的整数`n`,然后调用`Print`函数输出。示例运行结果显示了一张图片,显示了代码执行后的输出,但具体内容未提供。
160 0
|
7月前
|
C++
写一个函数,输入一个四位数字,要求输出这四位数字字符,但是每两个数字间空一个字符,如输入1990,输出1 9 9 0
这是一个C++代码段,用于打印整数的逆序。程序从用户输入接收一个整数,然后通过递归方法将其逆序输出。示例结果展示了一张图片,但因摘要限制无法显示。代码功能是将数字如12345逆序输出为54321。
60 0
|
7月前
53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”
53.从键盘输入任意一串字符串,程序输出同样的一串字符,要求输出字符串中大小写相互转化,其他符号不变。如输入“a123BxC”,则输出“A123bXc”
55 0
|
7月前
|
存储 C语言
循环输出26个字母
C 语言实例 - 循环输出26个字母。
129 1
|
存储 C语言
探索编程中的字母转换:如何将字母变为二进制矩阵?
二进制是学习计算机语言中一个非常重要的知识点,笔者将通过这篇文章帮助读者了解进制转换在程序中的运用,借助进制转化实现火柴形状的字母输出。
157 0
从键盘上输入m与n(m<=n且m>3),输出从m到n之间的所有素数(以逗号间隔,即输出一个整数后再输出一个逗号)。
从键盘上输入m与n(m<=n且m>3),输出从m到n之间的所有素数(以逗号间隔,即输出一个整数后再输出一个逗号)。
208 0