浙大版《C语言程序设计(第3版)》题目集 练习5-3 数字金字塔 (15分)

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

函数接口定义:

void pyramid( int n );

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

意每个数字后面跟一个空格。

裁判测试程序样例:

#include

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");
}
}

你可能感兴趣的:(浙大版《C语言程序设计(第3版)》题目集 练习5-3 数字金字塔 (15分))