用C程序编写一个程序,用星号拼出数字4的图形
利用C语言中的嵌套循环和条件判断,我们可以绘制各种数字的图案。本文介绍如何用简单的代码输出一个数字“4”的图形。
📄 完整代码
#include <stdio.h>
int main() {
int row, column;
int row_length = 11; // 总行数
int column_length = 10; // 总列数
int row_middle = 6; // 数字“4”的中间横线所在行
for (row = 1; row <= row_length; row++) {
for (column = 1; column <= column_length; column++) {
if (column == 1 && row < row_middle) {
// 左上部分竖线(列1,行小于中间行)
printf("*");
} else if (row == row_middle) {
// 中间横线(第6行)
printf("*");
} else if (column == column_length) {
// 右侧竖线(最后一列)
printf("*");
} else {
// 其他位置打印空格
printf(" ");
}
}
printf("\n");
}
return 0;
}
📊 运行结果
* *
* *
* *
* *
* *
**********
*
*
*
*
*
📚 代码逻辑解析
- 左侧竖线:当列为1且行号小于中间行时,打印
*,形成数字“4”的左上部分竖线。 - 中间横线:第6行打印整行的
*,形成数字“4”的中间横线。 - 右侧竖线:所有行最后一列打印
*,形成数字“4”的右侧竖线。 - 其他区域打印空格保持图形整洁。
⏳ 时间复杂度
- 外层循环遍历行数:
O(row_length) - 内层循环遍历列数:
O(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)
总结
| 项目 | 内容 |
|---|---|
| 图案类型 | 数字“4” |
| 关键点 | 条件控制坐标输出 |
| 时间复杂度 | O(n × m) |
| 空间复杂度 | O(1) |
| 输出大小 | 11行 × 10列 |

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



