题目:编程印如下形式的杨辉三角形、打印的杨辉三角形的行数n (不超过15行)。要求由用户在主函数中通过键盘输入。请按照如下给定的函数原型进行编程。函数CaculateYH用于生成杨辉三角形,PrintYH用于打印杨辉三角形。给定的函数原型如下:
void CaculateYH(int a[][N],int n);
void PrintYH(int a[][N],int n);
**输人提示信息** :"Input n(n<15):\n"
**输入数据格式**:"%d"
**输出提示信息**:无
**输出数据格式**:"%5d"
杨辉三角形形式如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
1 10 45 120 210 252 210 120 45 10 1
# include<stdio.h>
# define N 15
void CaculateYH(int a[][N],int n);
void PrintYH(int a[][N],int n);
int main ()
{
int a[15][15]= {0};
int n;
printf("Input n(n<15):\n");
scanf("%d",&n);
CaculateYH(a, n);
PrintYH(a, n);
}
void CaculateYH(int a[][N],int n)
{
int i,j;
for(i=0; i<n; i++)
for(j=0; j<n; j++)
{
a[i][0]=1;
if(i==j)
a[i][j]=1;
}
for(i=2; i<15; i++)
for(j=1; j<15; j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
void PrintYH(int a[][N],int n)
{
int i,j;
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
if(i>=j)
printf("%5d ",a[i][j]);
printf("\n");
}
}