输入
输入一个正整数n(0 < n <= 20)。
输出
输出杨辉三角形的前n行,相邻两项之间用一个空格隔开。
输入示例
7
输出示例
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
数据范围
输入输出均为int范围的整数

先找到杨辉三角的规律:任意左右相邻两数和等于两数之下的数(图片来自网络)
题中打印案例为直角三角形而非等腰三角形,可使用2x2数组来表示,最后不需要的值不打印即可
定义2x2数组,我们分两部分来定义,一部分为1,另一部分为其他数
找出1的索引特点,[ i ][ j ],当i=j或者列数 j 为 0 时,为1,所以:
#include <stdio.h>
#include <stdlib.h>
int main() {
int n,i,j;
scanf("%d",&n);
int a[n][n];
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(i==j||j==0){
a[i][j]=1;
}
else{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
}
接着打印杨辉三角,直角形式,即2x2数组形式的杨辉三角特点:只有行数大于等于列数时有值
所以:

本文介绍如何使用C语言实现杨辉三角的打印,通过理解三角形的规律,利用2x2数组并遵循特定条件计算每一项,展示了从输入整数到输出三角形的完整过程。


被折叠的 条评论
为什么被折叠?



