注意!!使用遞迴實做帕斯卡三角形時,不需使用陣列。使用遞迴亦可印出三角形,不過還需增加判斷式。
而使用遞迴可直接輸入所求位置算出答案。
#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);
}
請先 登入 以發表留言。