急!!!!不知道哪里错了,望指点!谢谢!
// 模拟舞蹈出场次序.cpp : 定义控制台应用程序的入口点。//
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#define ElemType int
#define MaxLen 256
typedef struct
{
int front;
int rear;
ElemType element[MaxLen];
int size;
}Queue;
void ClearQueue (Queue *q)
{
q->rear =MaxLen-1;
q->front =0;
q->size =0;
}
int Empty(Queue q)
{
return (q.front ==q.rear );
}
void GetHead(Queue q,ElemType *e)
{
if(Empty(q))
e=NULL;
else
*e=q.element [q.front ];
}
int Enqueue(Queue *q,ElemType e)
{
if(q->size=MaxLen-1)
return 0;
else
{
q->rear=(q->rear +1)% MaxLen;
q->element [q->front ]=e;
q->size ++;
return 1;
}
}
int Dequeue(Queue *q,ElemType *e)
{
if(q->front ==q->rear )
return 0;
else
{
*e=q->element [q->front];
q->front =(q->front +1)% MaxLen;
q->size --;
return 1;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
Queue MQueue,FQueue;
int i,j,k,count;
char number[MaxLen];
char ch;
ClearQueue(&MQueue);
ClearQueue(&FQueue);
printf("若进场的是男士,则输入M\n");
printf("若进场的是女士,则输入F\n");
printf("输入X表示所有的人均进场,输入完成!\n");
printf("例如:MMFFMFMFX\n");
printf("输入进场的人士\n");
scanf("%c\n",&ch);
count=0;
while(ch!='X')
{
number[count]=ch;
count++;
scanf("%c\n",&ch);
}
for(i=0;i<count;i++)
{
if(number[i]='M')
Enqueue(&MQueue,i);
else
Enqueue(&FQueue,i);
}
printf("舞会开始!\n");
while(!Empty(MQueue)&&!Empty(FQueue))
{
printf("第%d个和第%d个一起出场\n",Dequeue(&MQueue,&j)+1,Dequeue(&FQueue,&k)+1);
}
return 0;
}