本题要求实现函数输出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
作者: C课程组
单位: 浙江大学
时间限制: 400 ms
内存限制: 64 MB
代码长度限制: 16 KB
思路:
找到每一个数字之前空格个数的规律规律,把第一个数字前面的空格和后面数字的输出分离开来:输出左边的空格,每行有n-i个空格;每一行左边空格输完后输出数字,n行n个数字(数字后面有一个空格)。
在这里插入代码片
void pyramid( int n ){
int j,k,l;
for(int j=1;j<=n;j++){
for(int k=1;k<=n-j;k++)
{
printf(" “);
}
for(int l=1;l<=j;l++){
printf(”%d “,j);
}
printf(”\n");
}
}