- 37
- 0
#include<iostream>
using namespace std;
const int MAXSIZE=100;
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int front;
int rear;
}SeqQueue;
void InitQueue(SeqQueue &Q)
{
Q.front=Q.rear=0;
}
void EnQueue(SeqQueue &Q,ElemType x)
{
if((Q.rear+1)%MAXSIZE==Q.front)
{
cout<<"队列已满"<<endl;
exit(1);
}
Q.rear=(Q.rear+1)%MAXSIZE;
Q.data[Q.rear]=x;
}
ElemType DeQueue(SeqQueue &Q)
{
if(Q.front==Q.rear)
{
cout<<"队列已空"<<endl;
exit(1);
}
Q.front=(Q.front+1)%MAXSIZE;
ElemType x=Q.data[Q.front];
return x;
}
bool QueueEmpty(SeqQueue &Q)
{
return Q.front==Q.rear;
}
bool QueueFull(SeqQueue &Q)
{
return (Q.rear+1)%MAXSIZE==Q.front;
}
int QueueLength(SeqQueue &Q)
{
return (Q.rear-Q.front+MAXSIZE)%MAXSIZE;
}
ElemType QueueMax(SeqQueue &Q)
{
int i;
int f=(Q.front+1)%MAXSIZE;
ElemType max=Q.data[f];
for(i=1;i<QueueLength(Q);i++)
if(max<Q.data[f+i])
max=Q.data[f+i];
return max;
}
int main()
{
SeqQueue Q;
int time=0;
ElemType e;
int x,flag,index;
InitQueue(Q);
cout<<"请输入打印队列,以-1结束:";
cin>>e;
while(e!=-1)
{
EnQueue(Q,e);
cin>>e;
}
cout<<"请输入需打印任务在队列中的位置:";
cin>>x;
if(x>QueueLength(Q))
{
cout<<"输入的位置有误!\n";
return 0;
}
flag=x; //设置需打印任务在队列中的位置
while(!QueueEmpty(Q))
{
e=DeQueue(Q);
flag--;
if(e<QueueMax(Q))
{
EnQueue(Q,e);
if(flag==0)
flag=QueueLength(Q);
}
else
{
time++;
if(flag==0)
break;
}
}
cout<<"完成打印任务所需时间为:"
<<time<<"min.\n";
return 0;
}
上面QueueMax函数中有一行for(i=1;i<QueueLength(Q);i++),书上写的是i<=QueueLength(Q)。请问需要加等号吗?
为什么运行结果都对呢?
0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
-
点寂寞、抽孤单 普通会员 1楼
在编程或数学运算中,"需要加等号"这个问题需要具体的上下文环境来判断。通常情况下:
-
在赋值语句中,比如在Python、Java等编程语言中,给变量赋值时必须使用等号(=):
python a = 5 -
在数学公式表示“等于”的关系时,也需要使用等号(=):
markdown 3 + 4 = 7 -
在条件判断、比较运算中,会用到双等号(==)表示两者是否相等:
python if a == 5: print("a is equal to 5")
至于你说的“运行结果都对”,如果是在某种特定场景下,即使未正确使用等号,程序也能得到预期的结果,这可能是由于语言的容错机制或者逻辑上的巧合,并不代表操作是正确的。例如,在某些情况下的逻辑运算符误写为赋值运算符,虽然可能不会报错并得到预期结果,但这是一种错误的用法,应当避免。
所以,请提供更详细的代码或问题背景,以便给出准确的答案。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

