杨辉三角

来源:互联网 发布:淘宝怎么上传清晰图片 编辑:程序博客网 时间:2024/06/05 18:36

Description

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
上面的图形熟悉吗?它就是我们中学时候学过的杨辉三角。

Input

输入数据包含多组测试数据。 每组测试数据的输入只有一个正整数n(1≤n≤30),表示将要输出的杨辉三角的层数。输入以0结束

Output

对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

Sample Input

2
0

Sample Output

1
1 1

1 1
1 2 1


  1. #include<stdio.h>
  2. int main()
  3. {
  4.     int a[31][31],i,j,n;
  5.     for(i=0; i<=30;i++)
  6.     {
  7.        for(j=0; j<=30; j++)
  8.        {
  9.           a[i][j]=0;

  10.        }
  11.     }
  12. fi:
  13.     scanf("%d",&n);
  14.     if(n==0) goto end;
  15.     for(i=1; i<=n;i++)
  16.     {
  17.        for(j=1; j<=i; j++)
  18.        {
  19.            if(j==1)a[i][j]=1;
  20.            elsea[i][j]=a[i-1][j-1]+a[i-1][j];
  21.        }
  22.     }
  23.     for(i=1; i<=n;i++)
  24.     {
  25.        for(j=1; j<=i; j++)
  26.        {
  27.           printf("%d",a[i][j]);
  28.            if(j!=i)printf(" ");
  29.        }
  30.        printf("\n");
  31.     }
  32.     printf("\n");
  33.     goto fi;
  34. end:
  35.     return 0;
  36. }
注:此题使用了不推荐使用的goto语句做成了循环 建议使用for或while循环判断n==0时用break退出;
0 0