C语言编程题 :打印出杨辉三角(十行)

如题所述

C语言程序:

#include <stdio.h>

#define ROW 10

void main()
{
int arr[ROW][ROW];
int i, j;

for(i=0; i<ROW; i++)
for(j=0; j<=i; j++)
if(j==0 || i==j)
arr[i][j] = 1;
else
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];

for(i=0; i<ROW; i++)
{
for(j=0; j<=i; j++)
printf("%6d", arr[i][j]);
printf("\n");
}
}


运行结果:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-24
杨辉三角,显示n层杨辉三角,程序如下,输入n即可

#include <stdio.h>
main()
{
int i,j,n;
int a[100][100];
printf("please input n:");
scanf("%d",&n);
for(i=0;i<n;i++)a[i][0]=1;
for(i=0;i<n;i++)a[i][i]=1;
for(i=2;i<n;i++)
{
for(j=1;j<i;j++)
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
}
printf("the n ceng yanghuisanjiao wei :\n");
for(i=0;i<n;i++)
{
for(j=0;j<=i;j++)
{
printf("%4d",a[i][j]);
}
printf("\n");
}
getch();
}
第2个回答  2013-09-24

main(){

int i,j;

int a[11][11];

clrscr();

for(i=0;i<10;i++)a[i][0]=1,a[i][i]=1;

for(i=2;i<10;i++)for(j=1;j<i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];

for(i=0;i<10;i++)

{printf("%*c",6*(10-i)/2,' ') ;

 for(j=0;j<=i;j++)printf("%6d",a[i][j]);

 printf("\n");}

getch();

}

本回答被网友采纳
第3个回答  2013-09-24
main()
{int i,j;
int a[10][10];
printf("\n");
for(i=0;i<10;i++)
 {a[i][0]=1;
 a[i][i]=1;}
for(i=2;i<10;i++)
 for(j=1;j<i;j++)
 a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<10;i++)
 {for(j=0;j<=i;j++)
 printf("%5d",a[i][j]);
 printf("\n");
 }
}
第4个回答  2013-09-24
#include <stdio.h>
int main()
{
int a[10][10];
int i,j;
for(i=0;i<10;i++)
{a[i][0]=1;a[i][i]=1;}
for(i=2;i<10;i++)
{
for(j=1;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
return 0;
}
相似回答