今天试着用函数打印杨辉三角,虽然出现了几个问题,但是都被我解决了!
首先上源程序:
#include “stdio.h”
int fun1(int row,int col)
{
if(rowcol||col1)
return 1;
return(fun1(row-1,col-1)+fun1(row-1,col));
}
int main()
{
int n;
int i,j;
printf(“请输入要打印的杨辉三角的行数”);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=(n-i)*4;j++)
{
printf(" “);
}
for(j=1;j<=i;j++)
{
printf(”%4d",fun1(i,j));
printf(" “);
}
printf(”\n");
}
printf("\n");
return 0;
}
这个程序是完全正确的,不过我当时做的时候有几个问题,我在这里具体再说一遍:
1:fun1(int row,int col)是啥意思?
这个函数其实是打印杨辉三角的核心,我们知道杨辉三角每行的数字左右对称,并且起始的数字都是1,所以我们得出这样的语句:
if(rowcol||col1)