练习5-3 数字金字塔 (15 分)
本题要求实现函数输出n行数字金字塔。
函数接口定义:
void pyramid( int n );
其中n
是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n
行数字金字塔。注意每个数字后面跟一个空格。
裁判测试程序样例:
#include <stdio.h>
void pyramid( int n );
int main() {
int n;
scanf("%d", &n);
pyramid(n);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
5
输出样例:
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
void pyramid(int n){
int i,j,k;
for(i=1;i<=n;i++){ //外层循环控制行数
for(j=(n/2)*2;j>=i;j--){ //内层控制列数空格,空格根据行的变化而变化
printf(" ");
}
for(k=1;k<=i;k++){ //内层控制数的输出,输出个数与行有关
printf("%d ",i); //输出数字为行号,空格隔开
}
printf("\n"); //每行之后进行换行
}
}