一道C程序的题,寻求帮助

来源:百度知道 编辑:UC知道 时间:2024/06/20 17:55:44
打印出以下扬辉三角形,要求打印出10行
1
11
121
1331
14641
.....
.....

下面的程序在WIN-TC下调试通过,在TURBO C里面应该没有问题:

/*这个程序用于打印出十行扬辉三角形*/
#include<stdio.h>
#define N 10
void main()
{
int a[N][N], i,j;/*声明一个二维数组来存放扬辉三角的元素,i,j代表循环变量*/
/*将扬辉三角的元素赋值给二维数组a[N][N]*/
for( i=0 ; i<N ; i++)/*控制打印扬辉三角的行数*/
{
for(j=0; j<N ;j++)/*控制打印扬辉三角的列数*/
{

if( i== 0 ) /*假如是第一行的情况*/
{
a[i][0]=1 ;
if(j>0) a[i][j]=0;
}

else if( i==1 )/*假如是第二行的情况*/
{
a[i][0] = 1 ;
a[i][1] = 1 ;
if(j>1) a[i][j] = 0 ;
}

else /*不是前两行的情况*/
{
if( j==0 || j== i)
a[i][j] = 1 ;
else if( j>0 && j<i )
a[i][j] = a[i-1][j-1] + a[i-1][j] ;
else
a[i][j] = 0 ;

}

}
}

/*打印出字符二维数组的元素,及是程序要求的扬辉三角*/

for( i=0 ; i<N ; i++)
{
f