每天OnLineJudge 之 “杨辉三角 ”

来源:互联网 发布:ui和程序员漫画 编辑:程序博客网 时间:2024/04/30 09:30

Problem
输出杨辉三角

Input
本题有多组测试数据,每组数据仅含一个整数N(N不大于34)。一组数据独占一行。

Output
对于每一组数据,先输出一个

Case #:
其中#号代表第#组数据。接下来输出一个由数字组成的杨辉三角。一行中的数字之间用一个空格分开。行尾不要有多余的空格。
两组数据之间空开一行。

Sample Input
6
3

Sample Output
Case 1:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

Case 2:
1
1 1
1 2 1

---------------------


/*
此解答已通过TongJi编译并Accepted
Result   Memory Time Language Date 
Accepted 44k    2ms  C++      2006-05-07 18:37:41
zhouyinhui
*/

#include<stdio.h>
#include<malloc.h>


#define MAX 35


int main()
{
 int n;
 int caseNum = 0;
 while(scanf("%d",&n) != EOF)
 {

  caseNum++;

  if(caseNum != 1)
  {
   printf("/n");
  }

  printf("Case %d:/n",caseNum);

  int i;
  int j;

  int arr[MAX][MAX]= {{0}};
  
  for(i=0; i<n; i++)
  {
   arr[i][0] = 1;
  }

  for(i=1; i<n; i++)
  {
   for(j=1; j<n; j++)
   {
    arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
   }
  }


  for( i=0; i<n; i++)
  {
   for(j=0; j<n; j++)
   {
    if(arr[i][j]!=0)
    {
     if(j !=i)
     {
      printf("%d ",arr[i][j]);
     }else
     {
      printf("%d",arr[i][j]);
     }
    }
   }
   printf("/n");
  }


 }

 return 0;
}

 

 

 

原创粉丝点击