C程序打印完整的金字塔

问题描述 投票:-13回答:1

嗨,我有这个程序来解决一个完整的金字塔。

#include <stdio.h>
int main()
{
    int i,j,rows;
    printf("Enter the number of rows: ");
    scanf("%d",&rows);
    for(i=1;i<=rows;++i)
    {
        for(j=1;j<=i;++j)
        {
           printf("%d ",j);
        }
        printf("\n");
    }
    return 0;
}

输出就是这个

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

我怎样才能像完整的金字塔那样打印出来?再次从左边打印同样的东西。

期望的输出:

   1   1
  12   12
 123   123
1234   1234
c
1个回答
1
投票

我想你在寻找这样的东西:

#include <stdio.h>

int main() {

    int rowCount, numberCount, rows;

    printf("Enter the number of rows: \n>");
    scanf(" %d", &rows);

    for(rowCount = 1; rowCount <= rows; rowCount++) {

        for(numberCount = rowCount; numberCount < rows; numberCount++)
            printf(" ");

        for(numberCount = rowCount; numberCount >= 1; numberCount--)
            printf("%d",numberCount);

        printf("   ");

        for(numberCount = 1; numberCount <= rowCount; numberCount++)
            printf("%d",numberCount);

        printf("\n");
    }


    return 0;

}
© www.soinside.com 2019 - 2024. All rights reserved.