紧张的卡多希 2022-04-16 12:11 采纳率: 72.2%
浏览 33
已结题

为什么会错误啊?还有就是输入浮点数会死循环

#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
typedef struct Sequeue
{
int data[MAXSIZE];
int front;
int rear;
}Sequeue;
void Init(Sequeue *);
void EnSequeue(Sequeue *,int);
void DeSequeue(Sequeue *);
void GetHead(Sequeue *);
void ListSequeue(Sequeue );
void main()
{
int i,t,x;
Sequeue * p=(Sequeue )malloc(sizeof(Sequeue));
Init(p);
printf("请输入五个元素到队列中:\n");
for(i=0;i<5;i++)
{
scanf("%c",&t);
p->rear=(p->rear+1)%MAXSIZE;
p->data[p->rear]=t;
}
printf("请选择操作类型(按 0 结束):\n");
printf("\t1.入队列\t2.出队列\t3.取队头元素\t4.列出队列元素\n");
while(1)
{
scanf("\n");
scanf("%d",&t);
if(t==0)
break;
switch(t)
{
case 1:
printf("请输入元素值:");
scanf("\n");
scanf("%c",&x);
EnSequeue(p,x);
/printf("此时队列元素为:");/
ListSequeue(p);
printf("\n");
break;
case 2:
DeSequeue(p);
/
printf("此时队列元素为:");
/
ListSequeue(p);
printf("\n");
break;
case 3:
GetHead(p);
break;
case 4:
ListSequeue(p);
break;
default :
printf("输入错误,请重新输入!\n");
break;
}
}
}
void Init(Sequeue * p)//初始化队列
{ p->rear=0;
p->front=0;
}
void EnSequeue(Sequeue * q,int x)//入队(循环队列最多可装 MAXSIZE-1 个元素)
{
if((q->rear+1)%MAXSIZE==q->front)
{
printf("队满,无法实现入队操作\n");
}
else
{
q->rear=(q->rear+1)%MAXSIZE;
q->data[q->rear]=x;
}}
void DeSequeue(Sequeue * p)//出队列
{ if(p->rear==p->front)
{
printf("队列为空,无法实现出队操作\n");
}
else
{
p->front=(p->front+1);
} }
void GetHead(Sequeue * p)//取队头元素
{ int q;
if(p->rear==p->front)
{
printf("队列为空,无法实现出队操作\n");
}
else
{
q=p->front;
printf("此时的头元素为:%c\n",p->data[++q]);
}
}
void ListSequeue(Sequeue * q)//列出元素
{
int i;
if(q->rear==q->front)
{
printf("队列为空,无法实现出队操作\n");
}
else
{
i=(q->front+1)%MAXSIZE;
printf("此时的队列元素为:");
while(i<=q->rear)
{
printf("%c ",q->data[i]);
i++;
} }}

img

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-04-16 14:08
    关注

    %c改为%d

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月24日
  • 已采纳回答 4月16日
  • 创建了问题 4月16日

悬赏问题

  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程