C语言:程序填空:编写函数,打印出n行如下图形,n从键盘读入

题目来源:大工慕课 链接
作者:Caleb Sung

题目要求

29)编写函数,打印出n(1<=n<=9)行如下图形,n从键盘读入。

      1
    1 2 1
  1 2 3 2 1
1 2 3 4 3 2 1
……

题目代码

#include<stdio.h>
int main()
{
    int n;
    void prntri(int n);
    printf("请输入要打印几行!\n");
    scanf("%d",&n);
    while(n>9||n<1)
    {
        printf("请输入大于等于1小于等于9的整数!\n");
        scanf("%d",&n);
    }
    prntri(n);
    return 0;
}
void prntri(int n)
{
    //*****begin*********

    //******end**********
}

参考代码

每一行分为三部分:输出空格、输出递增数字与空格、输出递减数字与空格:

#include<stdio.h>
int main()
{
    int n;
    void prntri(int n);
    printf("请输入要打印几行!\n");
    scanf("%d",&n);
    while(n>9||n<1)
    {
        printf("请输入大于等于1小于等于9的整数!\n");
        scanf("%d",&n);
    }
    prntri(n);
    return 0;
}
void prntri(int n)
{
    //*****begin*********
    int i, j;
    for(i=1; i<=n; i++){
        for(j=2*n-2*i; j>=0; j--)
            printf(" ");
        for(j=1; j<=i; j++)
            printf("%d ", j);
        for(j=i-1; j>=1; j--)
            printf("%d ", j);
        printf("\n");
    }
    //******end**********
}

运行效果

请输入要打印几行!
8
               1
             1 2 1
           1 2 3 2 1
         1 2 3 4 3 2 1
       1 2 3 4 5 4 3 2 1
     1 2 3 4 5 6 5 4 3 2 1
   1 2 3 4 5 6 7 6 5 4 3 2 1
 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1

猜你喜欢

转载自blog.csdn.net/qq_41933331/article/details/80316894