杨辉三角                                         
                       1                
                     1    1               
                  1    2   1              
                1    3    3   1           
              1    4    6    4   1       
           1    5    10   10   5   1       

第i行空格数:num-i
第i行输出数字个数:i
杨辉三角数组:arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]
数组下标i代表输出杨辉三角的行数
数组下标j代表每行的第j个数字

#define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
#include<stdlib.h>
void Fun(int num) {
	int arr[100][100] = { 0,1 };
	for (int i = 1; i <= num; i++) {
		for (int j = 1; j <= i; j++) {
			arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
		}
	}
	for (int i = 1; i <= num; i++) {
		for (int k = 0; k <=num - i; k++) {
			printf(\"  \");//打印每行的空格
		}
		for (int j = 1;j<=i;j++){
			printf(\"%4d\", arr[i][j]);//打印每行的杨辉三角数字
	    }
		printf(\"\\n\");
    }
}
int main() {
	int num;
	printf(\"请输入打印的杨辉三角行数\\n\");
	scanf(\"%d\", &num);
	Fun(num);
	system(\"pause\");
	return 0;
}

\"在这里插入图片描述\"

收藏 打印