jsdhwdmaX_luqi 2021-11-09 21:30 采纳率: 100%
浏览 40
已结题

输入偶数个字符时检测不到回车键

while(cin>>x) {
EnQueue(Q, x);
Push(S, x);
i++;
if(cin.get()=='\n') break;
}
这一段代码为什么在输入奇数个字符时能检测到回车键,输入偶数个字符时就检测不到回车键啊😭

题目输入一串字符,以回车结束,利用栈和队列来判断它是否是回文
主函数int main( )
{
SqQueue Q;//定义队列
SqStack S;//定义栈
int i=0,j;
int y=1;
char x,m,n;
InitQueue(Q);//初始化队列
InitStack(S);//初始化栈
while(cin>>x) {
EnQueue(Q, x);//入列
Push(S, x);//入栈
i++;
if(cin.get()=='\n') break;
}
for(j=0;j<i;j++){
DeQueue(Q, m);//出列
Pop(S, n);//出栈
if (m==n) continue;

    else{
        y=0;
        break;
    }
    
}
cout<<y;
system("pause");
return 0;

}

  • 写回答

3条回答 默认 最新

  • bekote 2021-11-09 21:39
    关注

    因为cin>>x读一个数入队,cin.get读第二个并检测第二个是不是回车,所以,以此类推,回车是第n个,n是偶数时才会被检测

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 修改了问题 11月9日
  • 创建了问题 11月9日