编写程序,大佬们帮帮忙,这个我实在不会

一丢沙 2019-05-24 02:04:52
将学生六门课的程序存入到队列里面,然后再向队列添加两门课的成绩,并输出插入两门课程之前后队列中的成绩,用形如“第**门成绩为***分的形式输出”
...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
neu_ZZM 2019-05-24
  • 打赏
  • 举报
回复

#include<stdio.h>

//定义队列结构体
struct queue{
int front;//队头
int endline;//队尾
int data[10];//数据
};

typedef struct queue Queue;

//初始化队列
void initQueue(Queue * p);
//入队
void enQueue(Queue *pque, int data);
//出队
void deQueue(Queue *pque);
//遍历队列
void printfQueue(Queue *pque);

//数组队列只能使用一次,使用之后必须初始化后才可以继续使用

void main(){
Queue myQueue={0,6,{50,60,70,80,90,100}};
Queue *pque = &myQueue;
//插入队列
enQueue(pque,40);
enQueue(pque,30);
printfQueue(pque);
}

//初始化队列
void initQueue(Queue *pque){
pque->front = 0;
pque->endline = 0;//清空队列
}

//入队
void enQueue(Queue *pque,int data){
//判断队列是否溢出
if (pque->endline<10)
{
//判断队列是否为空
if (pque->front == pque->endline)//队头和队尾重合表明没有元素
{
//初始化队列
initQueue(pque);
}
pque->data[pque->endline] = data;
pque->endline += 1;

}
else{
return;
}

}

//出队
void deQueue(Queue *pque){
//判断队列是否为空
if (pque->front == pque->endline)
{
//队列为空
return;
}
else{
//直接弹出最后一个
printf("弹出的元素是%d\n", pque->data[pque->front]);
pque->front+= 1;
}
}

//遍历队列
void printfQueue(Queue *pque){
int i;
for (i = pque->front; i < pque->endline; i++)
{
printf("第%d门成绩为%d分\n",i+1,pque->data[i]);
}
}

一丢沙 2019-05-24
  • 打赏
  • 举报
回复
引用 1 楼 neu_ZZM的回复:

#include<stdio.h>

//定义队列结构体
struct queue{
int front;//队头
int endline;//队尾
int data[10];//数据
};

typedef struct queue Queue;

//初始化队列
void initQueue(Queue * p);
//入队
void enQueue(Queue *pque, int data);
//出队
void deQueue(Queue *pque);
//遍历队列
void printfQueue(Queue *pque);

//数组队列只能使用一次,使用之后必须初始化后才可以继续使用

void main(){
Queue myQueue={0,6,{50,60,70,80,90,100}};
Queue *pque = &myQueue;
//插入队列
enQueue(pque,40);
enQueue(pque,30);
printfQueue(pque);
}

//初始化队列
void initQueue(Queue *pque){
pque->front = 0;
pque->endline = 0;//清空队列
}

//入队
void enQueue(Queue *pque,int data){
//判断队列是否溢出
if (pque->endline<10)
{
//判断队列是否为空
if (pque->front == pque->endline)//队头和队尾重合表明没有元素
{
//初始化队列
initQueue(pque);
}
pque->data[pque->endline] = data;
pque->endline += 1;

}
else{
return;
}

}

//出队
void deQueue(Queue *pque){
//判断队列是否为空
if (pque->front == pque->endline)
{
//队列为空
return;
}
else{
//直接弹出最后一个
printf("弹出的元素是%d\n", pque->data[pque->front]);
pque->front+= 1;
}
}

//遍历队列
void printfQueue(Queue *pque){
int i;
for (i = pque->front; i < pque->endline; i++)
{
printf("第%d门成绩为%d分\n",i+1,pque->data[i]);
}
}

谢谢大佬的指点,我努力搞懂试试
一丢沙 2019-05-24
  • 打赏
  • 举报
回复
哇,谢谢谢谢,真的太谢谢了

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧