1.问题描述
在屏幕上打印杨辉三角形的前n行。
2.问题分析
杨辉三角形中的数,正是(x+y)的N次方幂展开式各项的系数。本题作为程序设计中具从杨辉三角形的特点出发,可以总结出:(1)第x行有x个值(设起始行为第1行)。(2)对于第x行的第y个值,有:当y=1或y=x时:其值为1;当y!=1且y!=x时:其值为第x-1行的第y-1个值与第x-1行第y个值之和。
3.完整程序
#include <stdio.h>
int f(int i,int j)
{
if(i==1||j==1||j==i)
{
return 1;
}
else
{
return f(i-1,j-1)+f(i-1,j);
}
}
int main(void)
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
for(int j=0;j<n-i;j++)
{
printf(" ");
}
for(int j=1;j<=i;j++)
{
int x=f(i,j);
printf("%4d",x);
}
printf("\n");
}
return 0;
}
5.运行结果
此处需要注意杨辉三角的输出格式。