用C程序编写一个程序,用C程序打印字母正方形
作者:极光
在 C 语言学习过程中,字符与ASCII码的结合是很有趣且实用的基础知识点。今天我们通过一个实例,学习如何结合嵌套循环与ASCII码打印一个字母矩阵。
📄 程序目标
- 从大写字母 A开始。
- 每一行重复打印当前行所对应的字母。
- 每行字母逐行递增,例如:
AAAAA
BBBBB
CCCCC
DDDDD
EEEEE
📄 完整C语言代码
#include <stdio.h>
int main() {
int row, column; // 定义行和列变量
int row_length = 5; // 总行数
int column_length = 5; // 每行的字符个数
int ascii_code_start = 65; // ASCII值65,即字符A
for (row = 1; row <= row_length; row++) { // 外层循环控制行
for (column = 1; column <= column_length; column++) { // 内层循环控制列
printf("%c", ascii_code_start); // 打印当前行的字符
}
ascii_code_start++; // 每行结束后,ASCII码+1
printf("\n"); // 换行
}
return 0;
}
📊 程序运行结果
AAAAA
BBBBB
CCCCC
DDDDD
EEEEE
📚 代码解析
int ascii_code_start = 65;:- 65 是大写字母 A 的 ASCII 值。
- 外层循环(控制行):
- 从 1 到 5,共打印 5 行。
- 内层循环(控制列):
- 每行打印 5 个字符,使用当前的
ascii_code_start值。
- 每行打印 5 个字符,使用当前的
- 每次打印一行后,
ascii_code_start++:- ASCII码值加1,下一行打印的字符自然就变成了 B、C、D……。
- 换行操作控制矩阵行数。
⏳ 时间复杂度分析
- 外层循环执行
row_length次。 - 内层循环执行
column_length次。 - 每次内层循环执行一次
printf操作。
所以,总的基本操作次数:
r
o
w
_
l
e
n
g
t
h
×
c
o
l
u
m
n
_
l
e
n
g
t
h
=
5
×
5
=
25
row\_length \times column\_length = 5 \times 5 = 25
row_length×column_length=5×5=25
- 时间复杂度:
O ( r o w _ l e n g t h × c o l u m n _ l e n g t h ) = O ( n 2 ) O(row\_length \times column\_length) = O(n^2) O(row_length×column_length)=O(n2)
如果假设行列数相同(n 行 n 列),可简化为:
O
(
n
2
)
O(n^2)
O(n2)
💾 空间复杂度分析
- 程序中仅使用了固定数量的变量:
row、column、row_length、column_length和ascii_code_start。 - 没有使用数组或其他数据结构。
- 空间复杂度:
O ( 1 ) O(1) O(1)
📌 总结
| 项目 | 内容 |
|---|---|
| 输出效果 | 逐行递增的字母矩阵 |
| 时间复杂度 | O(n²) |
| 空间复杂度 | O(1) |
| 关键知识点 | ASCII字符、嵌套循环 |


1万+

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



