用C程序编写一个程序,用星号拼出数字0的图形
数字“0”是一个封闭的矩形框形状,表现为上下边框和左右两侧的竖线。本文使用C语言嵌套循环配合条件判断,绘制数字“0”的图案。
📄 详细代码
#include <stdio.h>
int main() {
int row, column;
int row_length = 10; // 总行数
int column_length = 10; // 总列数
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;
}
📊 运行结果
**********
* *
* *
* *
* *
* *
* *
* *
* *
**********
📚 代码逻辑解析
- 上下边框:
- 第一行和最后一行打印满行星号,形成数字“0”的上下边界。
- 左右边框:
- 除上下边框外,每行的第一列和最后一列打印星号,形成数字“0”的左右边界。
- 中间空白:
- 其他位置打印空格,保证数字“0”中间是空心。
⏳ 时间复杂度
- 外层循环执行
row_length次。 - 内层循环执行
column_length次。
整体时间复杂度:
O(row_length×column_length)=O(n×m)
O(\text{row\_length} \times \text{column\_length}) = O(n \times m)
O(row_length×column_length)=O(n×m)
💾 空间复杂度
- 只使用了几个整数变量,空间复杂度为:
O(1) O(1) O(1)
📌 总结
| 项目 | 说明 |
|---|---|
| 图案类型 | 数字“0” |
| 关键逻辑 | 条件判断 + 位置控制打印 |
| 时间复杂度 | O(n × m) |
| 空间复杂度 | O(1) |
| 输出尺寸 | 10行 × 10列 |
🚀 拓展建议
- 调整
row_length和column_length实现不同大小的数字“0”。 - 用其他字符替代
*,展现更多风格。 - 结合用户输入,实现动态数字图案打印。

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



