用C程序编写一个程序,用星号拼出F的图形
字母“F”与字母“E”类似,但缺少底部的横线,只有顶部和中间的两条横线,以及左侧的一条竖线。本文用C语言打印字母“F”,让我们看看如何实现。
📄 详细代码
#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) {
// 顶部和中间的横线
printf("*");
} else if (column == 1) {
// 左侧的竖线
printf("*");
} else {
// 其他位置打印空格
printf(" ");
}
}
printf("\n");
}
return 0;
}
📊 运行结果
**********
*
*
*
*
**********
*
*
*
*
*
📚 代码逻辑解析
- 横线:
- 第1行和第6行打印满行星号,形成“F”的顶部和中间横线。
- 竖线:
- 每行的第1列打印星号,形成“F”的左侧竖线。
- 空格:
- 其余位置为空格,确保图案清晰。
⏳ 时间复杂度
- 外层循环执行
row_length次。 - 内层循环执行
column_length次。
整体时间复杂度为:
O(n×m)
O(n \times m)
O(n×m)
其中 nnn为行数,mmm为列数。
💾 空间复杂度
仅使用少量变量,空间复杂度为:
O(1)
O(1)
O(1)
📌 总结
| 项目 | 说明 |
|---|---|
| 图案类型 | 字母“F” |
| 关键设计 | 顶部与中间横线 + 左竖线 |
| 时间复杂度 | O(n × m) |
| 空间复杂度 | O(1) |
| 输出尺寸 | 11行 × 10列 |

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



