用C程序编写一个程序,打印空心倒置直角三角形

用C程序编写一个程序,打印空心倒置直角三角形

用C程序编写一个程序,打印空心倒置直角三角形_第1张图片在 C 语言学习过程中,图案打印是非常经典且实用的练习,能够帮助你熟悉循环嵌套与条件判断的配合使用。本文将详细解析如何打印一个左对齐空心倒直角三角形


程序目标

打印一个10行的左对齐空心倒直角三角形,效果如下:

**********
*       *
*      *
*     *
*    *
*   *
*  *
* *
**
*

完整代码

#include 

int main() {
    int row, column;
    int row_length = 10;  // 总行数

    for (row = 0; row < row_length; row++) {
        for (column = 0; column < row_length - row; column++) {
            if (row == 0) {
                // 第一行全部打印星号
                printf("*");
            } else if (column == 0 || column == (row_length - row) - 1) {
                // 每行首尾打印星号
                printf("*");
            } else {
                // 其他位置打印空格,形成空心效果
                printf(" ");
            }
        }
        printf("\n");  // 换行
    }

    return 0;
}

用C程序编写一个程序,打印空心倒置直角三角形_第2张图片 程序运行结果

**********
*       *
*      *
*     *
*    *
*   *
*  *
* *
**
*

用C程序编写一个程序,打印空心倒置直角三角形_第3张图片 代码解析

  • 外层循环 row 控制行数,从0到9。
  • 内层循环 column 控制每行打印的列数,列数随行数递减。
  • 条件判断:
    • 第一行(row == 0)全部打印星号,形成三角形的顶部边。
    • 其他行仅在首尾位置打印星号,中间打印空格,形成空心效果。
  • 每行打印完换行,继续下一行。

⏳ 时间复杂度分析

  • 外层循环执行 n=10 次。
  • 内层循环打印字符数随行数递减,总打印字符数为:

∑i=1ni=n(n+1)2≈O(n2) \sum_{i=1}^n i = \frac{n(n+1)}{2} \approx O(n^2) i=1ni=2n(n+1)O(n2)

  • 时间复杂度

O(n2) O(n^2) O(n2)


空间复杂度分析

  • 仅使用少量变量,空间开销固定。
  • 空间复杂度

O(1) O(1) O(1)


总结

项目 内容
输出效果 左对齐空心倒直角三角形
时间复杂度 O(n²)
空间复杂度 O(1)
技术点 循环嵌套、条件判断

你可能感兴趣的:(C语言练习,c语言,算法,开发语言)