习题5-8 空心的数字金字塔
本题要求实现一个函数,输出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
#include <stdio.h>
void hollowPyramid ( int n );
int main()
{
int n;
scanf("%d", &n);
hollowPyramid ( n );
return 0;
}
void hollowPyramid ( int n ){
int i,m=n-1;int number;
for(i=1;i<=n;i++){
int number=n-i;
while(number){
printf(" ");
number--;
}
if(i==1)
printf("%d\n",i);
else
{
int count;
if(i==2)
count=i-1;
else
{count=2*(i-1)-1;}
printf("%d",i);
if(i<n){while(count){ printf(" ");count--;}}
else{ while(count){ printf("%d",n);count--;}}
printf("%d\n",i);
}
m--;
}
}