一次AC。哈哈
#include<iostream> using namespace std; int main(){ int n; int a[30][30]; while(scanf("%d",&n)!=EOF){ a[0][0]=1; a[1][0]=1; a[1][1]=1;//先初始化第一行第一项、第二行第一二项为1 for(int i=2;i<n;i++){//从第三行开始到第n行进行初始化(数组下表[0][0]表示第一行第一列) a[i][0]=1;//把每一行的行首元素初始化为1 for(int j=1;j<n-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j];//运用杨辉三角的特点 a[i][i]=1;//把每一行的第i个元素初始化为1,即杨辉三角每行的最后一个元素 } for(int p=0;p<n;p++)//输出杨辉三角 for(int q=0;q<=p;q++) printf(q==p?"%d\n":"%d ",a[p][q]); printf("\n"); } return 0; }