在 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;
}
**********
* *
* *
* *
* *
* *
* *
* *
**
*
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=1∑ni=2n(n+1)≈O(n2)
O(n2) O(n^2) O(n2)
O(1) O(1) O(1)
项目 | 内容 |
---|---|
输出效果 | 左对齐空心倒直角三角形 |
时间复杂度 | O(n²) |
空间复杂度 | O(1) |
技术点 | 循环嵌套、条件判断 |