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

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

相关推荐
北顾笙98011 分钟前
LLM学习-day04
学习
爱编码的小八嘎1 小时前
C语言完美演绎9-12
c语言
lzj_pxxw2 小时前
W25Q64存储芯片 软件设计刚需常识
stm32·单片机·嵌入式硬件·mcu·学习
Slow菜鸟2 小时前
AI学习篇(四) | AI设计类Skills推荐清单(2026年)
人工智能·学习
念恒123062 小时前
Python(列表进阶)
python·学习
Navigator_Z3 小时前
LeetCode //C - 1031. Maximum Sum of Two Non-Overlapping Subarrays
c语言·算法·leetcode
QYQ_11273 小时前
嵌入式学习——杂项设备、Platform总线和设备树源文件
学习
wuxinyan1235 小时前
大模型学习之路03:提示工程从入门到精通(第三篇)
人工智能·python·学习
十安_数学好题速析5 小时前
【多选】曲线方程:四步避坑判断曲线类型
笔记·学习·高考
千寻girling6 小时前
五一劳动节快乐 [特殊字符][特殊字符][特殊字符]
java·c++·git·python·学习·github·php