1 #include "stdio.h"
2 #include "string.h"
3 int que[100];//定义队列
4 char Ask[100];//定义询问串
5 void pop(int *front,int *top)
6 {
7 if(*front == *top){
8 printf("Empty que!\n");
9 return;
10 }
11 *front = (*front + 1) % 5;
12 }
13 void push(int *front,int *top,int val)
14 {
15 if((*top + 1) % 5 == *front){//判断队列是否满了
16 printf("Que is full!\n");
17 return;
18 }
19 *top = (*top + 1) % 5;//当top为最后一个位置时回到0位置
20 que[*top] = val;//入队
21 }
22 int main()
23 {
24 int k;
25 int front = 0;//队首
26 int top = 0;//quit()退出询问,pop()出队,push()入队
27 while(1){
28 printf("Ask:");
29 scanf("%s",Ask);//输入询问串
30 getchar();//接收不必要的换行
31 if(strcmp("quit()",Ask) == 0)
32 break;
33 else if(strcmp("pop()",Ask) == 0)
34 pop(&front,&top);
35 else{
36 scanf("%d",&k);
37 push(&front,&top,k);
38 }
39 }
40 while(front != top){//输出队列
41 front = (front + 1) % 5;
42 printf("%d\n",que[front]);
43 }
44 return 0;
45 }