关闭

杨辉三角

1085人阅读 评论(0) 收藏 举报

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

 

Solution:

#include <stdio.h>

void Yanghui(int n);

int main()

{    

       int num[34]={0},n=0,i;

       while (scanf("%d",&num[n])>0) {

              n++;

       }

 

       for (i=0;i<n;i++) {

              if (i>0)

                     printf("/n");

              printf("Case %d:/n",i+1);

              Yanghui(num[i]);

             

       }    

       return 0;

}

 

void Yanghui(int n)

{

       int a[34]={1,0};

       int b[34]={1,0};

       int i,j;

       for (i=0;i<n;i++) {

              for (j=0;j<i;j++) {

                     printf("%d ",a[j]);

              }

              printf("%d/n",a[j]);

              for (j=1;j<34;j++) {

                     b[j]=a[j]+a[j-1];

              }

              for (j=1;j<34;j++) {

                     a[j]=b[j];

              }           

       }

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:297024次
    • 积分:2451
    • 等级:
    • 排名:第15049名
    • 原创:41篇
    • 转载:18篇
    • 译文:8篇
    • 评论:74条