gpt4 book ai didi

c++ - 不能在一行中输入 (cin) 超过 10 个整数并用空格分隔到数组中吗?

转载 作者:行者123 更新时间:2023-11-28 05:46:42 25 4
gpt4 key购买 nike

我有一个简单的问题。我正在尝试使用 while 循环将数字列表存储到数组中。

例如,假设数组的大小为 5。

如果我输入:1 2 3 4 5 然后回车,就不会有任何问题

但是,如果数组的大小是 10 并且我输入:1 2 3 4 5 6 7 8 9 10 然后它不起作用,然后跳过这些行。

我搜索过但找不到任何答案。是不是不可能在一行中使用 cin 以空格分隔输入太长的数字列表?我必须像 1 [enter] 2 [enter]...10 [enter] 那样做吗?

感谢任何帮助。

    int n=1,key,i; 
int arra [n];


cout << "Please enter the size of array (no more than 100): ";
cin >> n;
while (n>100)
{
cout << "Please enter a number no more than 100: ";
cin >> n;
}

cout << "Please enter " << n << " numbers separated by a space and ended with Enter key: \n";

for (i=0;i<n;i++) // store numbers into array

cin >> arra[i];

cout << "Please enter the key number that you want to find out: ";
cin >> key;

if (search(arra,n,key)==1)
cout << "Yes, the key is in the array. \n";
else
cout << "No, the key is not in the array. \n";

最佳答案

错误在于,您在获取输入之前将 n 的值分配给了数组的大小。

int n=1;
int arra[n];
//arra's size is 1

您应该在接受输入后分配大小。

while(n>100){
cout <<"Enter a number less than 100\n";
cin >> n;
}
//now declare the array
int arra[n];

所以现在,arra[] 具有用户输入的大小。

关于c++ - 不能在一行中输入 (cin) 超过 10 个整数并用空格分隔到数组中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36076617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com