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

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

相关推荐
XISHI_TIANLAN4 小时前
【多模态学习】Q&A3:FFN的作用?Embedding生成方法的BERT和Word2Vec?非线性引入的作用?
学习·bert·embedding
歪歪1005 小时前
qt creator新手入门以及结合sql server数据库开发
c语言·开发语言·后端·qt·数据库开发
KFCcrazy46 小时前
嵌入式学习日记(39)51单片机
嵌入式硬件·学习·51单片机
MuMuMu#6 小时前
JAVA NIO学习笔记基础强化学习总结
java·学习·nio
lingggggaaaa6 小时前
小迪安全v2023学习笔记(七十九讲)—— 中间件安全&IIS&Apache&Tomcat&Nginx&CVE
笔记·学习·安全·web安全·网络安全·中间件·apache
我登哥MVP6 小时前
Java File 类学习笔记
java·笔记·学习
mysla7 小时前
嵌入式学习day44-硬件—ARM体系架构
学习
微露清风7 小时前
系统性学习数据结构-第三讲-栈和队列
java·数据结构·学习
凤年徐9 小时前
C++类和对象(上):从设计图到摩天大楼的构建艺术
c语言·开发语言·c++·类和对象
77qqqiqi9 小时前
学习字符串
学习