用二维数组打印杨辉三角(c/c++)

来源:互联网 发布:面向切面编程横向纵向 编辑:程序博客网 时间:2024/06/13 13:47

编程打印如下形式的杨辉三角

                                1//第0行

                             1 2 1

                           1 3 3 1

                          1 4 6 4 1

用二维数组实现打印杨辉三角,用a[i][j]表示第i行j列的数值

#include<iostream>using namespace std;#include<stdio.h>void yanghui(int n){    int i,j;    int a[n+1][n+2];    a[0][0]=1;    a[1][0]=a[1][2]=1;    a[1][1]=2;    for(i=2;i<=n;i++)    {        a[i][0]=a[i][i+1]=1;        for(j=1;j<i+1;j++)            a[i][j]=a[i-1][j-1]+a[i-1][j];    }    //输出    for(i=1;i<=n+1;i++)        printf(" ");    printf("%d\n",a[0][0]);    for(i=1;i<=n;i++)    {        for(j=1;j<=n-i;j++)            printf(" ");        for(j=0;j<=i+1;j++)            printf("%d ",a[i][j]);            printf("\n");    }}int main(){    int n;    cout<<"n=";    cin>>n;    yanghui(n);    return 0;}


0 0