练习5-3 数字金字塔 (15 point(s))

本题要求实现函数输出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,s,j; //循环变量
	for(i=1;i<=n;i++) //循环到n(有几行循环几行)
	{
    
    
		for(j=1;j<=n-i;j++) //打印前面空格(空格公式需数数,最后一排是没空格第一排在第五个位置打印的所以n-i)
		{
    
    
			printf(" ");
		}
		for(s=1;s<=i;s++) //打印数字后跟一空格
		{
    
    
			printf("%d ",i);
		}
		printf("\n"); //每行打印完需换行
	}
}
/*
    1 
   2 2 
  3 3 3 
 4 4 4 4 
5 5 5 5 5 

*/

猜你喜欢

转载自blog.csdn.net/qq_44715943/article/details/114583176
今日推荐