练习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 

答案

void pyramid(int n)
{
    int i,j,k;
    for(i = 1;i <= n;i++)
    {
        for(j = 1;j <= n - i;j++)
        {
            printf(" ");
        }
        for(k = 1;k <= i;k++)
        {
            printf("%d ",i);
        }
        printf("\n");
    }
}

反思

第一次代码一直显示格式错误,检查了好久,发现忘记了题目中一个重要的条件:注意每个数字后面跟一个空格
前面在输出数字后忘记了空格,%d之后少了空格真的是很难检查出来,需要细心些!
for(k = 1;k <= i;k++) { printf("%d ",i); }

你可能感兴趣的:(pat)