本题要求实现函数输出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 a=1;//需要打印的数字
//打印数字前面的空格
for(;a<n+1;a++)
{
int i=n;
for(;i-a>0;i--)
{
printf(" ");
}
//打印数字
int b=a;//所打印数字的次数与其大小有关,b是打印次数
for(;b>0;b--)
{
printf("%d",a);
printf(" "); //注意每个数字间以及数字结尾后的空格
}
printf("\n");
}
}
这题要注意观察“金字塔”的组成,乍一见可能会被它的造型唬住,但其实你只要注意一下每个数字开头前的空格数量就行了,然后每个数字后面都要有个空格(包括末尾的数字),(^_−)☆用几个for就可以解决啦!!