杨辉三角形怎么用函数来解决啊?

来源:百度知道 编辑:UC知道 时间:2024/09/22 12:41:10
我写的,有问
题,但算法没错啊,不知道为什么,有那位高手帮忙看下好吗?
#include<stdio.h>
int traingle(int x,int y)
{
int z;
if(x==0||y==x)
return 1;
z=traingle(x-1,y-1)+traingle(x-1,y);
return z;
}
void main()
{
int i,j,n;
printf("please input a number:");
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<=i;j++)
printf("%5d",traingle(i,j));
printf("\n");

}

没有考虑x>0 y<=0的情况,在 if(x==0||y==x)再加上y==0的判断。另外 for(i=0;i<n;i++)
for(j=0;j<=i;j++)
printf("%5d",traingle(i,j));
printf("\n");
应该是 for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
printf("%5d",traingle(i,j));
printf("\n");
}才会分行输出