pta数字金字塔函数
时间: 2025-01-08 11:16:49 浏览: 49
### PTA平台数字金字塔函数实现
#### 完整的数字金字塔构建
在PTA平台上,构建一个完整的数字金字塔可以通过控制循环来打印每一层的内容。下面是一个具体的例子:
```c
#include<stdio.h>
int main() {
int n;
scanf("%d", &n);
for (int i = 1; i <= n; ++i) { // 控制行数
for (int j = 1; j <= n - i; ++j) { // 打印每行前导空格
printf(" ");
}
for (int k = 1; k < i; ++k) { // 打印左半边上升部分
printf("%d", k);
}
for (int l = i; l >= 1; --l) { // 打印右半边下降部分以及中间相接的部分
printf("%d", l);
}
printf("\n");
}
return 0;
}
```
这段代码实现了输入指定层数`n`后,按照特定模式输出由连续自然数组成的正三角形结构[^4]。
#### 空心数字金字塔
对于更复杂的场景——创建空心版本的数字金字塔,则需要额外逻辑处理内部填充为空白的情况:
```c
void hollowPyramid(int n){
for (int i = 1; i <= n; ++i) {
for (int j = n - i; j > 0; --j) { // 前置空白符
printf(" ");
}
if (i == 1 || i == n) { // 第一层和最后一层全部显示数字
for (int k = 1; k <= 2 * i - 1; ++k) {
printf("%d", ((k <= i)? k : 2*i-k));
}
} else { // 中间各层只保留两端的数字
printf("%d", i); // 开头
for (int s = 1; s <= 2 * i - 3; ++s) { // 中间的空隙
printf(" ");
}
printf("%d", i); // 结尾
}
printf("\n");
}
}
// 测试该功能可以放在main函数里调用hollowPyramid(n),并给定合适的n值作为参数传递进去。
```
此段代码展示了如何通过调整条件判断语句,在保持外轮廓的同时让塔体呈现为空的状态[^5]。
阅读全文
相关推荐














