谁能帮我修改一下这段代码,入队列之后打印出来不一样
#include<stdio.h>#define MAXSIZE 100
typedef struct seqqueue
{
int data[MAXSIZE];
int front;
int rear;
}seqqueue;
void Initseqqueue(seqqueue &q) //循环队列初始化
{
q.front =q.rear=-1;
printf("初始化成功!\n");
}
int enqueue(seqqueue &q,int e) //数据元素e入队列
{
if((q.rear+1)%MAXSIZE==q.front)
{
printf("循环队列满!\n");
return 0;
}
else
{ q.rear=(q.rear+1)%MAXSIZE;
q.data[q.rear]=e;
return 1;
}
}
int dequeue(seqqueue &q,int e) //数据元素出队列,出队列元素暂存储于e中
{
if(q.rear!=q.front)
{
e=q.data [q.front ];
q.front =(q.front +1)%MAXSIZE;
return 1;
}
else
{
printf("出队列失败!\n");
return 0;
}
}
void print(seqqueue &q)
{
for(int i=q.front;i<=q.rear;i++)
printf(" %d",q.data[i]);
}
int queuelength(seqqueue &q)
{
return (q.rear-q.front+MAXSIZE)%MAXSIZE;
}
void main()
{
int m,n,e,choose,x;
seqqueue q;
Initseqqueue(q);
printf("请输入入队列的元素个数和元素:");
scanf("%d",&m);
getchar();
for(int i=0;i<m;i++)
{
scanf("%d",&n);
enqueue(q,n);
}
printf("入队列后,队列中的元素为:");
print(q);
printf("%d\n入队列成功!\n");
printf("队列的长度为:");
printf("%d\n",queuelength(q));
printf("出队列为:");
dequeue(q,e);
print(q);
printf("\n出队列成功!\n");
while(1)
{
printf("请选择:1->入队 2->出队 3->长度 \n ");
scanf("%d",&choose);
if(choose==1)
{
printf("请输入数:");
scanf("%d",&x);
enqueue(q,x);
print(q);
}
else if(choose==2)
{
printf("请输入数:");
scanf("%d",&e);
dequeue(q,e);
print(q);
}
else if(choose==3)
{
printf("当前长度为:");
printf("%d\n",queuelength(q));
}
else
{
printf("输入错误!\n");
break;
}
}
}