用C程序编写一个程序,打印空心星号正方形

用C程序编写一个程序,打印空心星号正方形

用C程序编写一个程序,打印空心星号正方形_第1张图片在 C 语言学习过程中,for 循环条件判断的结合应用非常重要。今天通过一个打印空心矩形的例子,帮助大家理解嵌套循环if语句的组合技巧。


程序目标

用 C 语言在控制台打印一个5行5列空心矩形

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

完整C语言代码

#include 

int main() {
    int row, column;
    int row_length = 5;          // 行数
    int column_length = 5;       // 列数

    for (row = 1; row <= row_length; row++) {        // 外层循环控制行
        for (column = 1; column <= column_length; column++) {   // 内层循环控制列
            
            if(row == 1 || row == row_length) {      // 如果是第一行或最后一行
                printf("*");
            } else if(column == 1 || column == column_length) {  // 如果是每行的第一列或最后一列
                printf("*");
            } else {                                 // 其余情况输出空格
                printf(" ");
            }

        }
        printf("\n");   // 每行结束换行
    }

    return 0;
}

用C程序编写一个程序,打印空心星号正方形_第2张图片 程序运行结果

程序执行后,控制台输出:

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

用C程序编写一个程序,打印空心星号正方形_第3张图片 代码逻辑详解

  • 外层循环:控制矩形的行,从 15
  • 内层循环:控制每一行内的列,从 15
  • 条件判断
    • 如果是第一行最后一行:整行都是 *
    • 如果是每行的第一列或最后一列:打印 *
    • 其他位置则打印空格,构成空心效果。
  • 每完成一行打印,输出一个换行符。

⏳ 时间复杂度分析

  • 外层循环:执行 row_length 次。
  • 每次外层循环,内层循环执行 column_length 次。
  • 每次内层循环执行一次条件判断 + 打印操作

因此,总的基本操作次数为:
row_length×column_length=5×5=25 row\_length \times column\_length = 5 \times 5 = 25 row_length×column_length=5×5=25

  • 时间复杂度

O(row_length×column_length)=O(n2) O(row\_length \times column\_length) = O(n^2) O(row_length×column_length)=O(n2)

若行列相同(n 行 n 列),简化为:
O(n2) O(n^2) O(n2)


空间复杂度分析

  • 程序仅使用了简单变量:
    • rowcolumnrow_lengthcolumn_length
  • 没有使用数组或其他数据结构存储。
  • 空间复杂度

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


总结表

项目 内容
输出效果 5行5列空心矩形
时间复杂度 O(n²)
空间复杂度 O(1)
技术要点 嵌套循环 + 条件判断

你可能感兴趣的:(用C程序编写一个程序,打印空心星号正方形)