1 solutions

  • 0
    @ 2025-10-26 12:28:31

    简单分析

    💡关键思路:这道题是要打印一个特定规律的 10×18 的图形。我们可以通过两层循环来实现,外层循环控制行数,内层循环控制每行的字符。从样例能看出规律,每行开头的字母依次递增,后面的字母依次往前移。 ⚠️易错点:要注意字母的循环规律,以及每行字符的起始和结束位置,别把字母顺序弄乱啦。

    详细解题报告

    🌟题目

    【例3.2】 打印长方形

    说明:在windows的控制台环境中所有的字符都是等宽的,默认情况下窗口中每行有 80 个字符,每个屏幕有 25 行,组成了一个字符矩阵。利用控制台的这个特点,我们可以在控制台上绘制简单的图形。下面给出了一个 5×7 的图形的例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 找出这个图形的特点,绘制一个 10×18 的图形。

    输入格式:无

    输出格式:输出与上图类似的一个10×18 的图形。

    样例: Sample Input 1 Sample Output 1

    ABCDEFGHIJKLMNOPQR
    BABCDEFGHIJKLMNOPQ
    CBABCDEFGHIJKLMNOP
    DCBABCDEFGHIJKLMNO
    EDCBABCDEFGHIJKLMN
    FEDCBABCDEFGHIJKLM
    GFEDCBABCDEFGHIJKL
    HGFEDCBABCDEFGHIJK
    IHGFEDCBABCDEFGHIJ
    JIHGFEDCBABCDEFGHI
    

    📝题意分析

    这道题就是让我们仿照给出的 5×7 图形的规律,打印出一个 10×18 的图形。从样例可以发现,每行的第一个字母是按字母表顺序依次递增的,后面的字母是前面字母依次往前移得到的。

    ⭐难度等级

    ★★

    💡解题思路

    我们可以用两层循环来解决这个问题。外层循环控制行数,从 1 到 10。内层循环控制每行的字符,根据当前的行数来确定每行的起始字母,然后按照规律依次输出后面的字母。

    💭解题反思

    在解题过程中,要仔细观察图形的规律,特别是字母的循环和排列顺序。在编写代码时,要注意循环的边界条件,避免出现越界的错误。

    📜参考程序

    #include<bits/stdc++.h>
    using namespace std;
    int main() {
        // 外层循环控制行数,共 10 行
        for (int i = 0; i < 10; i++) {
            // 内层循环控制每行的字符,共 18 个字符
            for (int j = 0; j < 18; j++) {
                // 计算当前要输出的字母
                char c = 'A' + ((j + i) % 26);
                // 输出当前字母
                cout << c;
            }
            // 每行输出完后换行
            cout << endl;
        }
        return 0;
    }
    

    🎯勇敢挑战

    同学们可以尝试修改代码,打印出不同大小的类似图形,或者改变字母的起始位置,看看能得到什么样的新图形。

    • 1

    Information

    ID
    438
    Time
    1000ms
    Memory
    64MiB
    Difficulty
    4
    Tags
    # Submissions
    93
    Accepted
    45
    Uploaded By