fabvy12 发表于 2019-10-18 09:29:03

数字金字塔

求解数字金字塔的思路,
求解求解
求解

superbe 发表于 2019-10-18 13:04:32

本帖最后由 superbe 于 2019-10-18 13:11 编辑

用一个循环变量控制打印第几行。
每行里面,先打印前面的空格(空格数量=总行数-行号),再打印数字(个数和数字都等于行号,用空格隔开)。
#include <stdio.h>

void pyramid(int n) {
    int i, j;
    for (i = 1; i <= n; i ++) {//打印1--n行
      for (j = 1; j <= n - i; j ++)//打印n-i个空格
            printf(" ");
      for (j = 1; j <= i; j ++)//打印i个数字i
            printf("%d ", i);
      printf("\n");//换行
    }
}

int main()
{   
    int n;
    printf("输入金字塔的层数(1--9):");
    scanf("%d", &n);
    pyramid(n);
    return 0;
}

fabvy12 发表于 2019-10-19 17:49:33

superbe 发表于 2019-10-18 13:04
用一个循环变量控制打印第几行。
每行里面,先打印前面的空格(空格数量=总行数-行号),再打印数字(个数和 ...

感谢!
页: [1]
查看完整版本: 数字金字塔