1233: 华科版C语言程序设计教程(第二版)习题6.7

1233: 华科版C语言程序设计教程(第二版)习题6.7

时间限制: 1 Sec   内存限制: 128 MB
[ 提交][ 状态][ 讨论版]

Problem Description

 输出杨辉三角前n行。

输入

 输入一个数n(n <= 9)

输出

 输出杨辉三角前n行。(注意行末不能有多余的空格,数字以%3d的格式输出)

样例输入

3
4

样例输出

      1
    1   1
  1   2   1

        1
      1   1
    1   2   1
  1   3   3   1

#include<stdio.h>
int main()
{
    int i,j,k,n ;
    int a[40][40];
    while(scanf("%d",&n)!=EOF)
    {
        for(i=1;i<=n;i++)
        {
            a[i][1]=1 ;
            for(j=2;j<=n;j++)
            {
                if(i==j)
                {
                    a[i][j]=1 ;
                }
                else 
                {
                    a[i][j]=a[i-1][j-1]+a[i-1][j];
                }
            }
        }
        for(i=1;i<=n;i++)
        {
        	for(k=1;k<=n-i;k++)
        	{
        		printf("  ");
			}
            for(j=1;j<i;j++)
            {
                printf("%3d ",a[i][j]);
            }
            printf("%3d",a[i][j]);
            printf("\n");
        }
        printf("\n");
    }
    return 0 ;
}
/*
......1
....1...1
..1...2...1

        1
      1   1
    1   2   1
  1   3   3   1

*/
相关文章
相关标签/搜索