#include<stdio.h>
int main()
{
int a[100];
int i,j,n;
scanf("%d",&n); //输入一个n,n表示行数
printf(“1”); //因为第一个数为1,所以直接输出1,也可以认为数组a,第一个数a[0]=1
printf("\n"); //因为是三角形,输出一个换行符
a[1]=a[2]=1;
printf("%-4d%-4d",a[1],a[2]); //第二,第三个数也为1,所以a[1]=a[2]=1,输出a[1]a[2]
printf("\n");
for(i=3;i<=n;i++) //这里的i就表示第几行
{
a[1]=a[i]=1; //表示所有的第i行的第i个数都为1,并且把这个a[i]的值赋给a[1],为了接下来用j输出数组
for(j=i-1;j>1;j–) //用一个for循环给除了a[i]的剩下的数赋值
{
a[j]=a[j]+a[j-1]; //相当于某一行中间的数为上一行的对应位置的数字之和
}
for(j=1;j<=i;j++)//用for循环,因为第i行有i个数,所以循坏i次,输出i个数
{
printf("%-4d",a[j]);
}
printf("\n");
}
return 0;
}
一维数组打印杨辉三角
最新推荐文章于 2023-03-19 19:08:11 发布