C语言编程输出杨辉三角

编写一个程序,能够输出一个由”杨辉三角”和”倒杨辉三角”(10行)构成的矩型图案.(重点)
编写一个程序,能够输出一个由”杨辉正三角”和”杨辉倒三角”(10行)构成的菱形等图案.
编写一个程序,能够输出一个由”杨辉正三角”和”杨辉倒三角”(10行)构成的平行四边形等图案.

请各位大虾帮帮忙!

第1个回答  2007-01-16
/*杨辉菱形*/
#include<stdio.h>
main()
{
int i,k,j,a[5][5]={{1},{1,1}}; /* 可改变数组大小来改变菱形的大小 */
for(i=2;i<=5;i++)
{
for(j=0;j<=i;j++)
if((j==0)||(j==i))
a[i][j]=1;
else
a[i][j]=a[i-1][j]+a[i-1][j-1];
}

for(i=0;i<5;i++) /*该循环输出正三角*/
{
printf("\n");
for(k=0;k<=30-2*i;k++)
{
printf(" ");
}
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
}

for(i=3;i>=0;i--) /*该循环输出倒三角*/
{
printf("\n");
for(k=0;k<=22+2*(4-i);k++)
{
printf(" ");
}
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
}

getch();
}
第2个回答  2007-01-15
#include <stdio.h>
#include <conio.h>
main()
{
long jiecheng(int m);
long a[10][10],i,j;
int n=9;

for(j=0;j<=n;j++)
{
for(i=0;i<=n;i++)
{
a[i][j]=jiecheng(j)/(jiecheng(i)*jiecheng(j-i));
printf("%ld\t",a[i][j]);
if(i==j) {printf("\n");break;}
}
}
getch();
}

long jiecheng(int m)
{
long fac=1;
int i;
if(m==0) return(fac);
else
{for(i=1;i<=m;i++)
fac*=i;
return(fac);}
}
第3个回答  推荐于2017-09-18
矩型

main()
{int i,j,k=10;
int a[10][10];
clrscr();
printf("\n\n\n\n\n\n");
for(i=0;i<10;i++)
for(j=0;j<=i;j++)
{if(j==0||j==i)
a[i][j]=1;
else
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]);
k--;
for(j=k-1;j>=0;j--)
printf("%5d",a[k][j]);
printf("\n\n");
}
}

菱形

main()
{int i,j;
int a[10][10];
clrscr();
printf("\n\n\n");
for(i=0;i<10;i++)
for(j=0;j<=i;j++)
{if(j==0||j==i)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
for(i=0;i<10;i++)
{for(j=0;j<=10-i;j++)
printf("%2c",' ');
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");
}
for(i=8;i>=0;i--)
{for(j=0;j<=10-i;j++)
printf("%2c",' ');
for(j=0;j<=i;j++)
printf("%4d",a[i][j]);
printf("\n");
}
}

平行四边形

int b(x,y)
int x,y;
{int p,q;
int a[10][10];
for(p=0;p<10;p++)
{a[p][0]=1;
a[p][p]=1;
}
for(p=2;p<10;p++)
for(q=1;q<p;q++)
a[p][q]=a[p-1][q-1]+a[p-1][q];
return(a[x][y]);
}

main()
{int i,j,s=10;
for (i=0;i<10;i++)
{
for(j=0;j<10-i;j++)
printf("%2c",'');
for(j=0;j<=i;j++)
printf("%5d",b(i,j));
s--;
for(j=s;j>=0;j--)
printf("%5d",b(s,j));
printf("\n\n");
}
}本回答被提问者采纳
相似回答