在 C++ 中使用 while 循环未通过测试用例

Kal*_*nan -22 c++ while-loop testcase

我的需求:

使用 while 循环迎接尽可能多的名称在标准输入中可用。当您将字符串 '42' 作为名称读取时停止。

我的编码:

#include<iostream>
using namespace std;
int main()
{
    int input=1;
    int i= 0;
    string name;
    while(input<=i)
    {
        cin>>name;
        if(name=="42")
        {
             break;
        }
        else
        {
           cout<<"Hello "<<name<<"!";
           i++;
        }

    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

结果:

对于输入 42,测试用例通过。对于其他输入,测试用例失败。请发布您的答案。

大约 1 年后回答:

非常抱歉这个问题。这是我在对 C++ 了解 0 时问的问题。这可能对新生有用。

mat*_*975 5

你的循环有缺陷

int input=1;
int i= 0;
string name;
while(input<=i)
Run Code Online (Sandbox Code Playgroud)

asinput大于i开始

认为测试用例适用于 42,但实际上循环中的逻辑从未执行过。只是控制台输出相同(即没有)但您的代码永远不会cin达到检查输入的程度为 42