我只想让用户输入一些数字。如果数字为-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;
}
}
答案 0 :(得分:6)
更改此
for(int i=0; i < index; i++)
{
cout << array[index] << endl;
}
要
for(int i=0; i < index; i++)
{
cout << array[i] << endl;
}
您在seconde循环中使用了index
,导致您的程序在用户输入之后打印所有数组单元格的。
此外,如果-1
是您的条件,则应将其更改为
} while(input>=0);
^^
否则,0
也会停止循环,这不是你要求的。