在屏幕上打印出杨辉三角形。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
根据上图可以得到2个公式:
1)每行的第一个和最后一个为1
2)除上式得两个数外,其他数分别是上一行中的前一列和同一列的两数之和。
#include<stdio.h>
int add(int x,int y);
int main()
{
int i,j,n=13;
printf("N=");
while(n>12)
scanf("%d",&n);
for(i=0;i<=n;i++)
{
for(j=0;j<24-2*i;j++)
printf(" ");
for(j=1;j<i+2;j++)
printf("%4d",add(i,j));
printf("\n");
}
return 0;
}
int add(int x,int y)
{
int z;
if((y==1)||(y==x+1))
return 1;
z=add(x-1,y-1)+add(x-1,y);
return z;
}
原文地址:http://blog.csdn.net/nomasp/article/details/45507519