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;  // 程序正常结束
}

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

相关推荐
Da Da 泓2 小时前
LinkedList模拟实现
java·开发语言·数据结构·学习·算法
Larry_Yanan2 小时前
QML学习笔记(十五)QML的信号处理器(MouseArea)
c++·笔记·qt·学习·ui
Larry_Yanan4 小时前
QML学习笔记(十七)QML的属性变更信号
javascript·c++·笔记·qt·学习·ui
eqwaak04 小时前
Flask实战指南:从基础到高阶的完整开发流程
开发语言·后端·python·学习·flask
GilgameshJSS5 小时前
STM32H743-ARM例程9-IWDG看门狗
c语言·arm开发·stm32·单片机·嵌入式硬件·学习
Hello_Embed5 小时前
STM32 智能垃圾桶项目笔记(一):超声波模块(HC-SR04)原理与驱动实现
c语言·笔记·stm32·单片机·嵌入式软件·嵌入式项目
菠萝地亚狂想曲5 小时前
极简文件列表
c语言
月盈缺5 小时前
学习嵌入式的第四十一天——ARM——时钟与定时器
arm开发·学习
努力毕业的小土博^_^6 小时前
【深度学习|学习笔记】详细讲解一下 深度学习训练过程中 为什么 Momentum 可以加速训练?
人工智能·笔记·深度学习·学习·momentum
清风吹过6 小时前
少样本学习论文分享:多模态和类增量学习
论文阅读·人工智能·深度学习·学习·机器学习