编写程序打印数出下图所示的杨辉三角形,要求打印出n行,n值由键盘输入。

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1

第1个回答  2008-12-14
#include <stdio.h>
int c(int x,int y);
main()
{
int i,j,n=13;
printf("N=");
while(n>12)
scanf("%d",&n);
for(i=0;i<=n;i++)
{
for(j=0;j<12-i;j++)
printf(" ");
for(j=1;j<i+2;j++)
printf("%6d",c(i,j));
printf("\n");
}
}

int c(int x,int y)
{
int z;
if((y==1)||(y==x+1))return(1);
z=c(x-1,y-1)+c(x-1,y);

return(z);
}
第2个回答  2008-12-14
=============================
以下代码已经编译运行通过

#include <conio.h>
#include <stdio.h>

int main()
{
int arr[2][11], n, i, j;

n=6;
for (i=0; i<=10; i++)
arr[0][i] = arr[1][i] = 0;
arr[0][1] = 1;
for (i=1; i<=n; i++)
{
for (j=1; j<=i; j++)
arr[i%2][j] = arr[(i-1)%2][j-1]+arr[(i-1)%2][j];
for (j=1; j<=i; j++)
printf("%-4d", arr[i%2][j]);
printf("\n");
}
printf("\n");

getch();

return 0;
}本回答被网友采纳
相似回答