第七周项目三

来源:互联网 发布:百度浏览器打不开淘宝 编辑:程序博客网 时间:2024/06/06 09:29
  1. /*  
  2. 烟台大学计算机学院  
  3.   
  4. 文件名称:xiangmu.cpp  
  5.   
  6. 作者:张延飞 
  7.   
  8. 完成日期:2017年10月23日  
  9.   
  10. 问题描述:设从键盘输入一整数序列a1,a2,…an,试编程实现: 
  11. 当ai>0时,ai进队,当ai<0时,将队首元素出队,当ai=0时,表示输入结束。 
  12. 要求将队列处理成环形队列,使用算法库中定义的数据类型及算法,程序中只包括一个函数(main函数),入队和出队等操作直接写在main函数中即可。 
  13. 当进队出队异常(如队满)时,要打印出错信息。 
  14.   
  15. 输入描述:整数 
  16.   
  17. 输出描述:无 
  18.  
  19. 用到环形顺序队算法库sqqueue.h 
  20.   
  21. */   
  22.   
  23.   
  24.   
  25.   
  26.   
  27. #include <stdio.h>  
  28.   
  29. #include <malloc.h>  
  30.   
  31. #include "../sqqueue.h"  
  32.   
  33. int main()  
  34. {  
  35.     SqQueue *p;  
  36.   
  37.     int x;  
  38.   
  39.     InitQueue(p);//初始化队列  
  40.   
  41.     int ai;  
  42.   
  43.   
  44.   while(1)  
  45.   {  
  46.       printf("输入a值(输入正数进队,负数出队,0结束):");  
  47.       scanf("%d",&ai);  
  48.       if(ai>0)//判断a[i]是否大于0  
  49.     {  
  50.         if(!enQueue(p,ai))  
  51.         {  
  52.             printf("队满无法入队\n");  
  53.         }  
  54.   
  55.   
  56.     }  
  57.   
  58.    if(ai<0)  
  59.     {  
  60.         if(!deQueue(p,x))  
  61.         {  
  62.                printf("队空无法出队\n");  
  63.         }  
  64.   
  65.     }  
  66.   
  67.     if(ai==0)  
  68.     {  
  69.         break;  
  70.     }  
  71.   
  72.   }  
  73.   
  74. }  


运行结果:




学习心得:

学会了用环形队列的算法处理问题