本题要求实现一个函数,输出n行空心的数字金字塔。
其中n
是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n
行空心的数字金字塔,请注意,最后一行的第一个数字前没有空格。
输入样例:
5
输出样例:
1
2 2
3 3
4 4
555555555
#include <stdio.h>
void hollowPyramid(int n);
int main()
{
int n;
scanf("%d", &n);
hollowPyramid(n);
return 0;
}
void hollowPyramid(int n)
{
int i,j;
for (i = 1; i <= n; i++)
{
if (i < n) {
for (j = 1; j <= n - i; j++) //逐行减少前置空格
{
printf(" ");
}
for (j = 1; j <= 2 * i - 1; j++)
{
if (j == 1 || j == 2 * i - 1)
printf("%d", i);
else
printf(" ");
}
printf("\n");
}
else { //最后一行全为数字
for (j = 1; j <= 2 * i - 1; j++)
{
printf("%d", i);
}
}
}
}