2025-03-13 学习记录--C/C++-PTA 练习2-3 输出倒三角图案

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

练习2-3 输出倒三角图案

本题要求编写程序,输出指定的由"*"组成的倒三角图案。

输入格式:
本题目没有输入。

输出格式:
按照下列格式输出由"*"组成的倒三角图案。

c 复制代码
* * * *
 * * *
  * *
   *

二、解题步骤 ⭐️

  • 1步 🎀、外层循环 (从14):倒三角(倒金字塔)层数。则:for循环,从1遍历到4
  • 2步 🎀、内层循环1 :打印 每一层 第一个字符前的空格。则:第一层 打印0个空格,第二层打印1个空格,第三层打印2个空格,第四层打印3个空格;
  • 3步 🎀、内层循环2 :把 一个空格和字符 看作整体,即"_*";若为每一层的第一个,则不加空格,即"*"。则:
    • 第一层 需要打印一个"*"和三个"_*",
    • 第二层需要打印一个"*"和两个"_*",
    • 第三层需要打印一个"*"和一个"_*",
    • 第四层需要打印一个"*"和零个"_*";
  • 4步 🎀、内层循环结束后,换行,进入下一层的打印。

三、代码(C语言)⭐️

c 复制代码
#include <stdio.h>  // 引入标准输入输出库,用于使用 printf 函数

int main() {  // 主函数,程序入口
    for (int i = 0; i < 4; i++) {  // 外层循环,控制行数,共 4 行
        for (int j = 0; j < i; j++) {  // 内层循环 1,控制每行前面的空格数
            printf(" ");  // 打印空格,用于对齐
        }
        for (int k = 4; k > i; k--) {  // 内层循环 2,控制每行的星号数量
            if (k == 4) {  // 如果是每行的第一个星号
                printf("*");  // 打印一个星号,前面不加空格
            } else {  // 如果不是第一个星号
                printf(" *");  // 打印一个空格和一个星号
            }
        }
        printf("\n");  // 每行结束后换行
    }
    return 0;  // 程序正常结束
}

【注意 📢 】 结合以下两篇文章一起看:🦋

相关推荐
EnigmaCoder12 分钟前
C 语言进【进阶篇】之动态内存管理:从底层机制到实战优化
c语言·开发语言
LCY13317 分钟前
k8s系统学习路径
学习·容器·kubernetes
酷酷的崽79821 分钟前
如何在AVL树中高效插入并保持平衡:一步步掌握旋转与平衡因子 —— 平衡因子以及AVL结构篇
c语言·数据结构·c++
阿巴~阿巴~35 分钟前
蓝桥杯刷题——第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
c语言·c++·蓝桥杯
lucky登1 小时前
Git学习
git·学习
EleganceJiaBao1 小时前
【嵌入式】嵌入式系统中的 SemVer 版本控制方案
c语言·stm32·嵌入式·patch·semver·major·minor
jyan_敬言2 小时前
【C++】入门基础(二)引用、const引用、内联函数inline、nullptr
c语言·开发语言·数据结构·c++·青少年编程·编辑器
*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧2 小时前
C语言_数据结构总结9:树的基础知识介绍
c语言·开发语言·数据结构·b树·算法·visualstudio·visual studio
charlie1145141912 小时前
Linux驱动开发框架基础——新旧字符设备驱动笔记整理(1)
linux·驱动开发·笔记·学习·操作系统·教程
Dann Hiroaki3 小时前
文献分享: 对ColBERT段落多向量的剪枝——基于学习的方法
学习·算法·剪枝