使用for循环打印金字塔
时间: 2024-11-13 19:21:15 浏览: 79
当然可以。使用for循环打印金字塔的一种常见方式是通过控制变量递增或递减以及嵌套循环。以下是一个简单的例子,用于打印一个由星号(*)组成的倒三角形:
```c
#include <stdio.h>
int main() {
int rows; // 行数
printf("Enter the number of rows for the pyramid: ");
scanf("%d", &rows);
// 打印上半部分金字塔
for (int i = 0; i < rows; ++i) {
// 每行的空格数量
int spaces = rows - i - 1;
// 每行的星号数量
int stars = 2 * i + 1;
// 打印空格
for (int j = 0; j < spaces; ++j)
printf(" ");
// 打印星号
for (int k = 0; k < stars; ++k)
printf("*");
// 换行
printf("\n");
}
// 打印下半部分金字塔(如果行数为奇数)
if (rows % 2 == 0) {
for (int i = rows - 2; i >= 0; --i) {
// 上一行的计算方式相同
int spaces = rows - i - 1;
int stars = 2 * i + 1;
// 打印空格
for (int j = 0; j < spaces; ++j)
printf(" ");
// 打印星号
for (int k = 0; k < stars; ++k)
printf("*");
// 换行
printf("\n");
}
} else {
// 如果行数为偶数,下半部分不需要额外处理,因为已经包含在前面的循环里了
}
return 0;
}
```
在这个程序中,我们首先获取用户输入的行数,然后用两个嵌套的for循环分别打印每一行的空格和星号。上半部分和下半部分(如果行数为奇数)的星号数量不同。
如果你想了解如何调整这个基础代码以创建其他形状的金字塔(例如正三角形),或者想学习更多关于循环控制的方法,请告诉我。
阅读全文
相关推荐


















