对称倒立的杨辉三角
如何打印这样的杨辉三角?1 4 6 4 1
1 3 3 1
1 2 1
1 1
1
#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"); } }