C语言for循环金字塔
时间: 2025-05-20 17:16:44 浏览: 22
### C语言 for 循环实现金字塔图案
以下是基于引用内容和专业知识编写的 C 语言代码示例,用于生成正向的金字塔图案:
```c
#include <stdio.h>
int main() {
int height, i, j, spaces;
// 输入金字塔的高度
printf("请输入金字塔的高度: ");
scanf("%d", &height);
// 外层循环控制行数
for (i = 1; i <= height; i++) {
// 打印每行前的空格数量
for (spaces = 1; spaces <= height - i; spaces++) {
printf(" ");
}
// 打印星号的数量
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
// 换行操作
printf("\n");
}
return 0;
}
```
#### 代码解析
上述代码实现了标准的正向金字塔图案打印功能。具体逻辑如下:
- 用户输入金字塔的高度 `height`[^1]。
- 使用外层循环变量 `i` 控制每一行的位置,范围是从 `1` 到 `height`[^3]。
- 内层第一个循环负责打印当前行所需的前置空格数目 `(height - i)`。
- 内层第二个循环负责打印星号 `*` 的数量,其规律为 `2 * i - 1`。
运行此程序后,用户可以指定金字塔的高度并查看对应的输出效果。
如果需要生成倒金字塔,则可参考以下代码片段:
```c
#include <stdio.h>
int main() {
int height, i, j, spaces;
// 输入金字塔的高度
printf("请输入金字塔的高度: ");
scanf("%d", &height);
// 倒金字塔部分
for (i = height; i >= 1; i--) {
// 打印每行前的空格数量
for (spaces = 1; spaces <= height - i; spaces++) {
printf(" ");
}
// 打印星号的数量
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
// 换行操作
printf("\n");
}
return 0;
}
```
这段代码的核心在于调整了外层循环的方向,使其从最大高度逐步减少至最小值 `1`[^4]。
---
阅读全文
相关推荐




















