该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
【问题在于,最前面的是输出的只占有一个字符,但是后面的都是占有4个字符位!这怎么解】
在7-1题,我们输出的数字三角形,叫做杨辉三角形,是二项式的系数,当时使用数组来保存各个系数,现在编写函数,不使用数组保存,而采用递归方法在屏幕上显示如下杨辉三角形(n=6时):
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
输入:n
输出:杨辉三角形
#include
main()
{ int i=1,j,n,t=1;
scanf("%d",&n);
if(i==1) {for(j=1;j<=n-1;j++)
printf(" ");
printf("%d\n",t);}
for(i=2;i<=n;i++)
{for(j=1;j<=n-i;j++)
printf(" ");
printf("%d",t);
for(j=2;j<=i;j++)
printf("%4d",c(i,j));
for(j=1;j<=n;j++)
if(i==j) printf("%4d\n",t);
}
}
int c(x,y)
int x,y;
{int z;
if((y==1)||(y==x))
return(1);
else
z=c(x-1,y)+c(x-1,y-1);
return(z);
}