注册 登录
编程论坛 新人交流区

[求助]用队的思想做杨辉三角

Listen 发布于 2007-11-04 16:58, 581 次点击

想不出进队和出队的规律该写
哪位能指点下,最好是用C语言!

3 回复
#2
xjhsoft2007-11-06 10:19

#include "stdio.h"
main()
{
int i,j;
int a[10][10]={1};
for( i=1;i<10;i++ )
for( j=1;j<10;j++ )
{
if( (i-1)>=0 && (j-1)>=0 )
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
else
{
a[i][j]=0;
}
}
for( i=0;i<10;i++ )
{
for( j=0;j<10;j++ )
{
printf("%2d ",a[i][j]);
}
printf("\n");
}

for( i=1;i<10;i++ )
{
for( j=1;j<=i;j++ )
{
printf("%2d",a[i][j]);
}
printf("\n");
}
getch();

}

#3
Empyrean2007-11-06 10:20
回复:(Listen)[求助]用队的思想做杨辉三角

#4
Listen2007-11-06 21:29

我以前也用二唯数组做,现在试了下下面这个,稍微节省了空间.
#include<stdio.h>
int main()
{
int a[10]={1},b[10]={1,1},c[10]={0};
int i,j;
clrscr();
printf("%3d\n",a[0]);
printf("%3d %3d\n",b[0],b[1]);
for(j=2;j<10;j++)
{
for(i=0;i<=j;i++)
{
if(a[i]!=0)
printf("%3d ",a[i]);
a[i+1]=b[i]+b[i+1];
}
printf("\n");

for(i=0;i<10;i++)
{
c[i]=a[i];
a[i]=b[i];
b[i]=c[i];
}
}
getch();
return 0;
}

1