二维数组---杨辉三角

来源:互联网 发布:51信用卡 知乎 编辑:程序博客网 时间:2024/05/21 11:22
Description
杨辉三角
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),表示将要输出的杨辉三角的层数。

Output
输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开。

Sample Input
4
Sample Output
1
1 1
1 2 1
1 3 3 1
HINT



#include <stdio.h> 
int pascal[30+1][30+1]; 
// 使用二维数组的杨辉三角程序 
void pascalgo(int n) 

    int i, j; 
    for(i=0; i<n; i++) 
        for(j=0; j<=i; j++) 
            if(j == 0 || j == i) 
                pascal[i][j] = 1; 
            else 
                pascal[i][j] = pascal[i-1][j] +pascal[i-1][j-1]; 

void pascalprint(int n) 

    int i, j; 
    for(i=0; i<n; i++) { 
        for(j=0; j<=i; j++)
        {
        printf("%d ", pascal[i][j]);
        } 
        printf("\n"); 
    } 

int main(void) 

    int n; 
    pascalgo(30); 
    while(scanf("%d", &n) != EOF) { 
       pascalprint(n); 
       printf("\n");
    } 
    return 0; 




#include "stdio.h"
#include "stdlib.h"
int main()
{
    int n,a[99][99]= {{1}},i,j;
    while(scanf("%d",&n)&&n!=0)
    {
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=i; j++)
            {
                a[i][j]=a[i-1][j-1]+a[i-1][j];
                printf(j!=i?"%d ":"%d\n",a[i][j]);
            }
        }
        printf("\n");
    }
    return 0;
}
0 0
原创粉丝点击