- 烟台大学计算机学院
- 作者:王雪行
- 问题描述:设从键盘输入一整数序列a1,a2,…an,试编程实现:
- 当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai=0时,表示输入结束。
- 要求将队列处理成环形队列,使用算法库中定义的数据类型及算法,程序中只包括一个函数(main函数),入队和出队等操作直接写在main函数中即可。
- 当进队出队异常(如队满)时,要打印出错信息。
- 输入描述:整数
- 输出描述:无
- 用到环形顺序队算法库sqqueue.h
- */
- #include <stdio.h>
- #include <malloc.h>
- #include "../sqqueue.h"
- int main()
- {
- SqQueue *p;
- int x;
- InitQueue(p);//初始化队列
- int ai;
- while(1)
- {
- printf("输入a值(输入正数进队,负数出队,0结束):");
- scanf("%d",&ai);
- if(ai>0)//判断a[i]是否大于0
- {
- if(!enQueue(p,ai))
- {
- printf("队满无法入队\n");
- }
- }
- if(ai<0)
- {
- if(!deQueue(p,x))
- {
- printf("队空无法出队\n");
- }
- }
- if(ai==0)
- {
- break;
- }
- }
- }