用C语言编程打印10行杨辉三角

如:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 5 1

第1个回答  推荐于2016-03-13

#include<stdio.h>

int main()

{

int n,i,j,a[30]={0};

 scanf("%d",&n);

 a[0]=1;

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

 {

for(j=0;j<n-i;j++)

printf("   ");

for(j=i;j>0;j--)

a[j]+=a[j-1];

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

         printf("%6d",a[j]);

    printf("\n");

  }

getch();

}

第2个回答  2006-11-17
#include "stdio.h"
void YangHuiTriangle(int row)
{
int** a;

int i,j;
a = new int *[row];
for(i = 0 ; i < row ;i++)
{
a[i] = new int[row];
}
for(i = 0; i < row; i++)
{
a[i][0] = 1;
}
for(j = 1; j < row; j++)
{
a[0][j] = 0;
}
for(i = 1; i < row; i++)
{
for(j = 1; j < row; j++)
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
for(i = 0; i < row; i++)
{
for(j = 0; j < row; j++)
{
if(a[i][j] == 0)
{
printf("\t");
}
else
{
printf("%d\t",a[i][j]);
}
}
printf("\n");
}
}
void main()
{
int n;
printf("请输入杨辉三角的行数:");
scanf("%d",&n);
YangHuiTriangle(n);
}本回答被网友采纳
第3个回答  2006-11-17
main()
{
int a[10][10],i,j;
for(i=0;i<10;i++)
{
a[i][i]=1;
a[i][0]=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+1;j++)
printf("%6d ",a[i][j]);
printf("\n");
}
}
第4个回答  2006-11-17
#include"stdio.h"
void main()
{
int a[10][20];
int x,y,k;
for(x=0;x<11;x++){
a[x][0]=1;
a[x][x]=1;
}
for(x=2;x<11;x++)
for(y=1;y<=x-1;y++){
a[x][y]=a[x-1][y]+a[x-1][y-1];
}
for(x=0;x<11;x++) {
for(y=0;y<=x;y++) {
printf("%5d",a[x][y]);
}
printf("\n");
}
}
第5个回答  2006-12-02
#include "Stdio.h"
#include "Conio.h"
#define N 10
int main(void)
{ int i,j,y;
int a[N][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");}

}
相似回答