【问题标题】:C++: Storing user inputsC++:存储用户输入
【发布时间】:2013-07-28 08:40:59
【问题描述】:

我只想让用户输入一些数字。如果数字为 -1,则程序停止,然后输出相同的数字。为什么这么难?我不明白为什么这里的逻辑不起作用。

例如当用户输入:

1 2 3 -1 

然后程序应该打印出: 1 2 3 -1

#include <iostream>

using namespace std;

int main()
{
    int input, index=0;
    int array[200];

    do
    {
        cin >> input;
        array[index++]=input;
    } while(input>0);

    for(int i=0; i < index; i++)
    {
        cout << array[index] << endl;
    }
}

【问题讨论】:

  • 问题是什么? p.s.您应该在main() 末尾添加一个return 0
  • 什么不符合您的预期?
  • 当我输入 1 2 3 -1 时。我没有找回那些数字。

标签: c++


【解决方案1】:

改变这个

for(int i=0; i < index; i++)
{
    cout << array[index] << endl;
}

for(int i=0; i < index; i++)
{
    cout << array[i] << endl;
}

您在第二个循环中使用了index,导致您的程序用户输入之后打印所有数组单元格。

另外,如果-1 是您的条件,您应该将其更改为

} while(input>=0);
             ^^ 

否则,0 也会停止循环,这不是您要求的。

【讨论】:

  • 谢谢我真的很沮丧,然后看到你的评论。哇
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-02
  • 2016-08-09
  • 1970-01-01
  • 1970-01-01
  • 2021-05-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多