c语言打印双层金字塔
时间: 2025-01-08 10:33:57 浏览: 63
### C语言编程打印双层金字塔图案
为了实现用C语言打印双层金字塔图案的功能,可以采用如下代码:
```c
#include <stdio.h>
int main() {
int i, j, k, n;
scanf("%d", &n);
// 上半部分
for (i = 0; i < n; i++) {
for (j = 0; j < (n - 1) - i; j++) {
printf(" ");
}
for (k = 0; k < 2 * i + 1; k++) {
printf("*");
}
printf("\n");
}
// 下半部分
for (i = 0; i < n - 1; i++) {
for (j = 0; j <= i; j++) {
printf(" ");
}
for (k = 0; k < 2 * (n - 1) - 1 - 2 * i; k++) {
printf("*");
}
printf("\n");
}
return 0;
}
```
此程序首先读取输入的高度`n`,然后通过两个嵌套循环分别处理上半部和下半部的输出逻辑。在外层循环控制行数的同时,内层循环负责调整每行中的空格数量以及星号的数量。
#### 关键点解释
- **变量定义**:使用四个整型变量来辅助构建图形结构。
- **输入高度**:利用`scanf()`函数获取用户指定的高度值[^1]。
- **上半部分绘制**:第一个外层循环迭代次数等于给定的高度;内部的第一个循环用于打印前导空白字符,第二个循环则用来打印相应数量的星号。
- **下半部分绘制**:第二个外层循环从零到(n-2),同样地,在每次迭代中先打印适当数量的空间再接续星号形成倒置三角形效果。
阅读全文
相关推荐



















