1 solutions
-
0
简单分析
💡关键思路:这道题是要打印一个特定规律的 10×18 的图形。我们可以通过两层循环来实现,外层循环控制行数,内层循环控制每行的字符。从样例能看出规律,每行开头的字母依次递增,后面的字母依次往前移。 ⚠️易错点:要注意字母的循环规律,以及每行字符的起始和结束位置,别把字母顺序弄乱啦。
详细解题报告
🌟题目
【例3.2】 打印长方形
说明:在windows的控制台环境中所有的字符都是等宽的,默认情况下窗口中每行有 80 个字符,每个屏幕有 25 行,组成了一个字符矩阵。利用控制台的这个特点,我们可以在控制台上绘制简单的图形。下面给出了一个 5×7 的图形的例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 找出这个图形的特点,绘制一个 10×18 的图形。
输入格式:无
输出格式:输出与上图类似的一个10×18 的图形。
样例: Sample Input 1
无Sample Output 1ABCDEFGHIJKLMNOPQR 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