
程序代码:
#include<stdio.h>
int main()
{
int n,a[10][10]={0},i,j,k;
while (scanf("%d",&n)!=EOF&&(n>=1&&n<=10))
{
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
if(i==j||j==0) //买一行的第一个是1加上对角线是1
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];//其余的用肩膀上的两个数字相加
}
}
//输出程序:(倒置的杨辉三角输出)
for(i=0;i<n;i++)
{
for(j=0;j<i;j++) //输出空格
printf(" "); //空格由少变多
for(k=0;k<n-i;k++)
{
printf("%3d",a[n-i-1][k]); //倒着从数组里边取出数字输出
printf(" ");
}
printf("\n");
}
printf("\n");
}
return 0;
//正杨辉三角输出:
for(i=0;i<n;i++)
{
for(j=n-i;j>0;j--)
printf(" ");
for(k=0;k<=i;k++)
{
printf("%3d",a[i][k]);
printf(" ");
}
printf("\n");
}
}