一次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;
}