用C程序编写一个程序,用星号拼出数字9的图形
数字“9”具有上半部分的封闭环和下半部分的延伸线条。我们通过控制字符打印位置,用C语言嵌套循环和条件判断绘制数字“9”。
📄 详细代码
#include <stdio.h>
int main() {
int row, column;
int row_length = 11; // 总行数
int column_length = 10; // 总列数
int row_middle = 6; // 中间横线所在行
for (row = 1; row <= row_length; row++) {
for (column = 1; column <= column_length; column++) {
if (row == 1 || row == row_middle || row == row_length) {
// 顶部、中间和底部的横线
printf("*");
} else if (column == 1 && row < row_middle) {
// 左侧竖线,只在中间线以上打印
printf("*");
} else if (column == column_length) {
// 右侧竖线,贯穿所有行
printf("*");
} else {
// 其他位置打印空格
printf(" ");
}
}
printf("\n");
}
return 0;
}
📊 运行结果
**********
* *
* *
* *
* *
**********
*
*
*
*
**********
📚 代码逻辑解析
- 三条横线:
- 第1行(顶部)、第6行(中间)和第11行(底部)打印满行星号,构成数字“9”的三条横线。
- 左侧竖线:
- 仅第2行至第5行(中间线以上)第一列打印星号,形成数字“9”左上边界。
- 右侧竖线:
- 每行最后一列都打印星号,形成数字“9”的右边界。
- 空格:
- 其他位置打印空格,保持图案清晰。
⏳ 时间复杂度
- 外层循环执行
row_length次。 - 内层循环执行
column_length次。
总体时间复杂度为:
O(n×m)
O(n \times m)
O(n×m)
💾 空间复杂度
仅使用固定变量,空间复杂度为:
O(1)
O(1)
O(1)
📌 总结
| 项目 | 说明 |
|---|---|
| 图案类型 | 数字“9” |
| 关键设计 | 条件判断 + 坐标控制打印 |
| 时间复杂度 | O(n × m) |
| 空间复杂度 | O(1) |
| 输出尺寸 | 11行 × 10列 |

被折叠的 条评论
为什么被折叠?



