注意!!使用遞迴實做帕斯卡三角形時,不需使用陣列。使用遞迴亦可印出三角形,不過還需增加判斷式。
而使用遞迴可直接輸入所求位置算出答案。

#include<stdio.h>

int main()
{
    int i,j;
    int value(int,int);
    printf("Input i,j of a[i][j]\n");
    scanf(" %d",&i);
    scanf(" %d",&j);

    printf("a[%d][%d]=%d\n",i,j,value(i,j));

    for(i=0;i<=8;i++)      //print result
    {
        for(j=0;j<=8;j++)
        {
                printf(" %3d ",value(i,j));
        }
        printf("\n");
    }

    return 0;
}

int value(int i,int j)
{
    if(i==0 || j==0)
        return 1;
    else
        return value(i-1,j)+value(i,j-1);
}

創作者介紹
創作者 LearningNote 的頭像
nanosheep

LearningNote

nanosheep 發表在 痞客邦 留言(0) 人氣( 4974 )