首先先构建框架,创建二维数组
#include<stdio.h>
int main(){
printf("请输入杨辉三角的阶数:");
int n;
scanf("%d",&n);
int a[200][200];
for (int i = 0; i <n; i++)
{
a[i][i]=1;
a[i][0]=1;
}
for (int i = 0; i < n; i++)
{
for (int j=1; j<i; j++)//这里第一列和最后一列已经被赋值为1,不用再重新赋值
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
最关键的一个问题就是将每一行的第一个元素和最后一个元素赋值为1,其余的按照原定的算法进行赋值即可
for (int i = 0; i < n; i++)
{
for (int j=0; j<=i; j++)
{
printf("%d ",a[i][j]);
}
putchar('\n');
}
}
本人学识浅薄,如有更好的方法,欢迎探讨!