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

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

相关推荐
Aurorar0rua7 小时前
CS50 x 2024 Notes Memory - 03
c语言·开发语言·学习方法
捷瑞电子工坊17 小时前
嵌入式秋招面经:5大核心模块高频考题与实战避坑总结
c语言·stm32·嵌入式工程师·rtos·通信协议·嵌入式面试
蒸蒸yyyyzwd18 小时前
秋招不熟悉力扣学习笔记1
笔记·学习·leetcode
天空'之城18 小时前
C 语言工业级通用组件手写 30:安全内存拷贝组件
c语言·内存拷贝·工业级组件·安全内存操作
LuminousCPP19 小时前
数据结构-双向循环链表
c语言·数据结构·笔记·链表
小弥儿19 小时前
GitHub今日热榜 | 2026-08-11:图原生基础设施首日登顶
学习·开源·github
小僧景贤1 天前
嵌入式C语言 第二篇:基础语法|嵌入式C与标准C的核心差异
c语言·开发语言·嵌入式c语言
for_ever_love__1 天前
python基础语法学习: 数据容器
windows·python·学习
云空1 天前
《电子专业完整学习路线图(分两套:本科四年版 / 零基础自学速成版)》
科技·学习·学习方法·高考
min(a,b)1 天前
学习第16天:LangGraph 与 Agent 工作流编排
学习