c++ For循环没有提供正确的整数?语法错误?

b1uwtaje  于 2023-03-14  发布在  其他
关注(0)|答案(4)|浏览(157)

此问题的提示为:
首先,为变量inCount读入一个输入值。然后,从输入中读入inCount整数,并在字符串“number-"之后的新行中输出每个整数。
我用的密码是

for (int inCount = 0; inCount <= 90; inCount++) {
      cin >> inCount;
      cout << "number-" << inCount << endl;
}

程序用几组数字测试这段代码,看看代码是否正常工作,是否意外地成为IL或其他什么,但为了保存空间,我只分享第一组数字:
我的输出:

number-5
number-30
number-85
number-90

正确的输出:

number-30
number-85
number-90
number-65
number-70

有人能帮我解决我做错的事吗?谢谢你。

0mkxixxg

0mkxixxg1#

我觉得他们描述的更像是

int count = 0;
std::cin >> count;

for (int i = 0; i < count; ++i)
{
    int value = 0;
    std::cin >> value;
    std::cout << "number-" << value << std::endl;
}

换句话说,count表示要读入多少个值,然后循环该次数并写出每次迭代提供的值。

ttcibm8c

ttcibm8c2#

下面是使用while循环的工作示例。

#include <iostream>

using namespace std;

int main()
{
    std::cout<<"Hello World"<<std::endl;
    int count = 0;
    std::cin >> count;

while(count > 0)
{
    int value = 0;
    std::cin >> value;
    std::cout << "number-" << value << std::endl;
    
    --count;
}
    return 0;
}
yx2lnoni

yx2lnoni3#

您正在使用同一个变量来驱动循环并将用户输入读入。一旦用户输入数字>= 90inCount++就会将inCount递增到> 90,从而导致循环条件中断。
您需要使用单独的变量,例如:

int inCount;
cin >> inCount;

for (int i = 0; i < inCount; ++i) {
    int inNumber;
    cin >> inNumber;
    cout << "number-" << inNumber << endl;
}
hpcdzsge

hpcdzsge4#

#include <iostream>
    using namespace std;

    int main() {
       int inCount;
       char wildChar;
       cin >> inCount;
       wildChar = '*';

       for (int i = 0; i < inCount; ++i) {
          int inVal = 0;
          cin >> inVal;
          cout << inVal;
          if (i == inCount - 1)
          cout << endl;
          else 
          cout << wildChar;
       }

       return 0;
    }

相关问题