C语言实现数字金字塔

练习5-3 数字金字塔(C语言)

题目要求:本题要求实现函数输出n行数字金字塔。

函数接口定义:void pyramid( int n );

其中n是用户传入的参数,为[1, 9]的正整数。要求函数按照如样例所示的格式打印出n行数字金字塔。注意每个数字后面跟一个空格。

例如:

输入:5

输出:

    1 
   2 2 
  3 3 3 
 4 4 4 4 
5 5 5 5 5

分析:找到金字塔的空格数与行数的关系,控制格式按规定输出。 

#include <stdio.h>
void pyramid( int n );
void pyramid( int n ){
	int i,j,k;
	for(i=1;i<=n;i++){
		for(j=0;j<n-i;j++)
			printf(" ");
		for(k=0;k<i;k++)
			printf("%d ",i);
		printf("\n");
	}
}
int main(){
	int n;
	scanf("%d",&n);
	pyramid(n);
	return 0;
}