【GESP】C++二级练习 图形输出练习02-三角形(右对齐)
GESP二级练习,一套图形输出,多层循环分支练习,考试常见,难度★✮☆☆☆。
三角形(右对齐)
题目要求
题目描述
输出下面图形(领会精神,废话不赘述)
题目分析
解题思路
- 首先,我们需要理解题目的核心要求:
- 输入一个正整数 n,表示三角形的行数
 - 输出一个由星号(*)组成的右对齐三角形
 - 每行星号数量从1递增到n
 - 星号右对齐显示,左侧补充空格
 
 - 解题思路:
- 基本方法:
- 使用双重循环实现三角形的打印
 - 外层循环控制行数,从1到n
 - 内层循环控制每行打印的字符数
 
 - 实现步骤:
- 获取输入的正整数 n
 - 外层循环i从1到n,控制行数
 - 内层循环分两部分:
- 先打印空格:从1到n-i
 - 再打印星号:从n- i + 1到n-1
 
 
 - 时间复杂度:
- O(n²),其中n为输入的行数
 
 - 特殊情况:
- n应当为正整数
 - 考虑n=1的边界情况处理
 
 
 - 基本方法:
 
示例代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
int main() {
    // 定义变量n用于存储输入的大小
    int n;
    // 从标准输入读取n的值
    cin >> n;
    // 外层循环控制行数
    for (int i = 0; i < n; i++) {
        // 内层循环控制每行字符的打印
        for (int j = 0; j < n; j++) {
            // 当j大于等于n-i-1时打印星号,实现右对齐效果
            if (j >= n - i - 1) {
                cout << "*";
            } else {
                // 否则打印空格
                cout << " ";
            }
        }
        // 每行结束后换行
        cout << endl;
    }
    return 0;
}
所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code
GESP 学习专题站:GESP WIKI
“luogu-”系列题目可在洛谷题库进行在线评测。
“bcqm-”系列题目可在编程启蒙题库进行在线评测。
欢迎加入:Java、C++、Python技术交流QQ群(982860385),大佬免费带队,有问必答
欢迎加入:C++ GESP/CSP认证学习QQ频道,考试资源总结汇总
欢迎加入:C++ GESP/CSP学习交流QQ群(688906745),考试认证学员交流,互帮互助
 本文由作者按照  CC BY-NC-SA 4.0  进行授权

