首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >因为循环没有提供正确的整数?语法错误?

因为循环没有提供正确的整数?语法错误?
EN

Stack Overflow用户
提问于 2021-09-28 15:31:21
回答 3查看 4.9K关注 0票数 0

提出这一问题的提示是:

首先,读取变量inCount的输入值。然后,从输入中读取inCount整数,并在字符串"number-“之后的换行符上输出每个整数。

我使用的代码是

代码语言:javascript
复制
for (int inCount = 0; inCount <= 90; inCount++) {
      cin >> inCount;
      cout << "number-" << inCount << endl;
}

该程序用几组数字测试这段代码,以确定代码是否正常工作,并且不是偶然的IL或其他什么,但为了节省空间,我将共享第一个代码:

我的产出:

代码语言:javascript
复制
number-5
number-30
number-85
number-90

正确的输出:

代码语言:javascript
复制
number-30
number-85
number-90
number-65
number-70

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

EN

回答 3

Stack Overflow用户

发布于 2021-09-28 15:33:23

我想他们描述的更像是这样的

代码语言:javascript
复制
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表示要读取多少个值,然后多次循环并写出每次迭代提供的值。

票数 2
EN

Stack Overflow用户

发布于 2021-09-28 15:48:03

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

代码语言:javascript
复制
#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;
}
票数 0
EN

Stack Overflow用户

发布于 2021-09-28 17:38:57

您使用相同的变量来驱动您的循环并将用户的输入读入。一旦用户输入一个数字>= 90inCount++就会将inCount增量为一个> 90值,从而导致循环条件中断。

您需要使用单独的变量,例如:

代码语言:javascript
复制
int inCount;
cin >> inCount;

for (int i = 0; i < inCount; ++i) {
    int inNumber;
    cin >> inNumber;
    cout << "number-" << inNumber << endl;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69364546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档