用函数编程计算并输出如图所示的杨辉三角形。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。


#include
#define  N  20
void  CaculateYH(int a[][N], int  n);
void  PrintYH(int a[][N], int  n);
int main()
{
    int  a[N][N] = {0}, n;
    printf("Input  n(n<20):");
    scanf("%d", &n);     
    CaculateYH(a, n);
    PrintYH(a, n);
    return 0;
}
 
/* 函数功能:计算杨辉三角形前n行元素的值 */
void CaculateYH(__________, int n)
{
    int  i, j;
    for (i=0; i      {   
        a[i][0] = 1;
        ___________; 
     }
    for (_______; i     {
        for (j=1; j<=i-1; j++)
        {
           a[i][j] = __________________;
        }
   } 
}
/* 函数功能:输出杨辉三角形前n行元素的值 */
void PrintYH(int a[][N], int n)
{
    int  i, j;
    for (i=0; i     {
        for (j=0; _________; j++)
        {
            printf("%4d", a[i][j]);
        }
        printf("\n");
    }
}

A、第16行:    int a[][N]
第22行:    a[i][i] = 1
第24行:    i=2
第28行:    a[i-1][j-1] + a[i-1][j]
第38行:    j<=i
B、第16行:    int a[][]
第22行:    a[i][i] = 1
第24行:    i=1
第28行:    a[i-1][j-1] + a[i-1][j]
第38行:    j<=i
C、第16行:    int a[][N]
第22行:    a[0][i] = 1
第24行:    i=2
第28行:    a[i-1][j-1] + a[i-1][j]
第38行:    j D、第16行:    int a[N][]
第22行:    a[i][i] = 1
第24行:    i=2
第28行:    a[j-1][i-1] + a[j][i-1]
第38行:    j<=i