#include#define MAXQ 1000
typedef int Elemtype;
typedef struct
{
Elemtype data[MAXQ];
int front ,rear;
}squeue;
int InitQue(squeue &Q)
{
/*Q.data=malloc(sizeof(Elemtype)*MAXQ);
if(!Q.data){
printf("空间分配失败");
return 0;
}*/
Q.front=Q.rear=0;
return 1;
}
int Length(squeue Q)
{
return (Q.rear-Q.front+MAXQ)%MAXQ;
}
void Input(squeue &Q,int e)
{
if((Q.rear+1)%MAXQ==Q.front){
printf("队满");
}
Q.data[Q.rear]=e;
Q.rear=(Q.rear+1)%MAXQ;
}
int outque(squeue &Q,int &e)
{
if(Q.rear==Q.front)
{
return 0;
}
e=Q.data[Q.front];
Q.front=(Q.front+1)%MAXQ;
return e;
}
void main()
{
squeue Q;
int e,n,i=1,j,r,k,t;
InitQue(Q);
printf("输入需要打印杨辉三角的行数n:");
scanf("%d",&n);
//fflush(stdin);
//Input(Q,0);
Input(Q,1);
t=i;
for(i=1;i<=n-t;i++)
{
printf(" ");
}
printf("1\n");
for(i=2;i<=n;i++)
{
//Input(Q,0);
r=0;
for(k=1;k<=n-i;k++)
{
printf(" ");
}
for(j=1;j<=i-1;j++)
{
e=outque(Q,e);
//outque(Q,r);
printf("%d ",e+r);
Input(Q,e+r);
r=e;
}
printf("1\n");
Input(Q,1);
}
}