函数接口定义:
void hollowPyramid( int n );
其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行空心的数字金字塔,请注意,最后一行的第一个数字前没有空格。
裁判测试程序样例:
#include <stdio.h>
void hollowPyramid ( int n );
int main()
{
int n;
scanf("%d", &n);
hollowPyramid ( n );
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
5
结尾无空行
输出样例:
1
2 2
3 3
4 4
555555555
结尾无空行
这题我的方法可能比较麻烦,我是把代码分成三部分, 第一行、最后一行和中间部分。
void hollowPyramid( int n ){
int i, j;
for(i=1;i<n;i++) {
if (i == 1) { //第一行
for (j = n - 1; j >= 1; j--) {
printf(" ");
}
printf("%d", i);
printf("\n");
} else { //中间部分
for (j = n - 1; j >= i; j--) {
printf(" ");
}
printf("%d", i);
for (j = 1; j <= 2*i-3; j++) {
printf(" ");
}
printf("%d", i);
printf("\n");
}
}
for(i=1;i<=2*n-1;i++){ //最后一行
printf("%d", n);
}
}