gpt4 book ai didi

c++ - 当两个连续输出相同时循环中断

转载 作者:行者123 更新时间:2023-11-27 23:50:23 26 4
gpt4 key购买 nike

#include <iostream>

int main()
{
float x, y;
while (true)
{
cin >> x;
if (x == y)
break;
y = x;
}
return 0;
}

这是我的循环,应该在输入的两个连续数字相同后中断。我有两个问题希望得到帮助。

首先,这看起来是解决任务的最有效方法吗?

其次,x 和 y 在声明时不赋值是否可以(float x=?, y=?)?具体来说,当第一次进入循环时,y 不应该有一些值以便与 x 进行比较(x == y)?

最佳答案

您所做的看起来不错(除了缺少初始值)。有很多方法可以达到相同的结果,但堆栈溢出不是一个讨论站点。关于初始值,你是对的,你应该有一些。简单重写您的代码:

int main()
{
float x=1;
float y=2;
bool firstLoop=true; // it is possible that the user first inputs the number 2. To avoid the loop ending before the user inputs the first 2 numbers we use this flag
while (true)
{
cin >> x;

if (x == y && !firstLoop)
break;
y = x;
firstLoop=false;
}
return 0;
}

关于c++ - 当两个连续输出相同时循环中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46877857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com