编程题7.27

在一个阳光明媚的早晨,小桥收到了一份神秘的礼物——一只魔法盒子。这个盒子有四个按钮,每个按钮都有特殊的功能:

  • 按钮 AA:“添加”,将一个神秘物品(每个物品都有一个独特的编号)放入盒子中。
  • 按钮 BB:“移除”,将盒子中最早放入的物品移出。
  • 按钮 CC:“查看”,查看盒子中最早放入的物品。
  • 按钮 DD:“计数”,查看当前盒子中有多少个物品。

然而,如果盒子是空的,那么按钮 BB 和按钮 CC 就无法正常工作。此时,盒子会显示错误信息:如果按下按钮 BB,盒子会显示“lan”。如果按下按钮 CC,盒子会显示“qiao”。

小桥需要你的帮助,他会给你一系列的按钮操作,你需要帮他解读盒子的反馈。

蓝桥账户中心

输入格式

第一行,一个整数 nn,表示操作的次数。

接下来 nn 行,每行表示一个操作。格式如下:

  • “1 x”,表示按下按钮 AA,将编号为 xx 的物品放入盒子。
  • “2”,表示按下按钮 BB,移除一个物品。
  • “3”,表示按下按钮 CC,查看物品。
  • “4”,表示按下按钮 DD,查看物品个数。

输出格式

输出若干行,对于每个操作,按照上述盒子的反馈原则输出结果。

每条输出之间应当用空行隔开。

样例输入

7
3
2
4
3
3
3
2

样例输出

qiao
lan
0
qiao
qiao
qiao
lan

代码: 

#include <stdio.h>
#include <stdlib.h>
#define N 10000
int queue[N];
int main()
{
  int n,x;//n代表操作次数
  int front=0,rear=-1;//初始化头尾指针
  scanf("%d",&n);
  for(int i=0;i<n;i++)
  {
    int q;
    scanf("%d",&q);
    switch(q)
    {
      case 1:
      scanf("%d",&x);
      queue[++rear]=x;//尾指针先向后一位,再将x插入对应位置
      break;

      case 2:
      if((rear-front+1)!=0)//计算队列长度公式:rear-front+1
      front++;
      else
      printf("lan\n");
      break;

      case 3:
      if((rear-front+1)!=0)
      printf("%d\n",queue[front]);
      else
      printf("qiao\n");
      break;

      case 4:
      printf("%d\n",rear-front+1);
      break;
    }
  }
  return 0;
}

 总结:

//引用strlen需要包含头文件#include <string.h>
//按住shift+字母:大写
//case一般搭配break使用
//初始化头尾指针:front=1;rear=-1
//计算队列长度公式:rear-front+1
//对队列增加一个元素:queue[++rear]=x;//尾指针先向后一位,再将x插入对应位置
//对队列删除一个首元素:front++;

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值