本题要求实现一个函数,输出n行空心的数字金字塔。
函数接口定义:
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;int m,j;
for(i=1;i<=n;i++){
if(i==n)break;
for(j=1;j<=n-i;j++){
printf(" ");
}printf("%d",i);
if(i==1){printf("\n");
continue;}
for(m=1;m<=2*i-3;m++){printf(" ");
}printf("%d\n",i);
}for(i=1;i<=2*n-1;i++){
printf("%d",n);
}
}
void hollowPyramid( int n )
{
int i;int m,j;
for(i=1;i<=n;i++){
if(i==n)break;//把最后的给拎出来
for(j=1;j<=n-i;j++){
printf(" ");
}printf("%d",i);
if(i==1){printf("\n");//特殊的1 特殊处理
continue;}
for(m=1;m<=2*i-3;m++){printf(" ");
}printf("%d\n",i);
}for(i=1;i<=2*n-1;i++){
printf("%d",n);
}
}