LWLW_LW_ 2022-04-16 12:11 采纳率: 75%
浏览 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日

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样