合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、题目描述 ⭐️
练习2-3 输出倒三角图案
本题要求编写程序,输出指定的由"*"组成的倒三角图案。
输入格式:
本题目没有输入。
输出格式:
按照下列格式输出由"*"组成的倒三角图案。
c
* * * *
* * *
* *
*
二、解题步骤 ⭐️
- 第
1
步 🎀、外层循环 (从1
到4
):倒三角(倒金字塔)层数。则: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; // 程序正常结束
}

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