21xrx.com
2024-09-20 00:03:38 Friday
登录
文章检索 我的文章 写文章
C++循环输入未知长度的数组
2023-07-06 10:42:46 深夜i     --     --
C++ 循环 输入 未知长度 数组

在很多情况下,我们需要输入一个未知长度的数组。C++中,可以使用循环来让用户输入数组。 在本篇文章中,我们将介绍如何使用C++循环输入未知长度的数组。

首先我们要明确数组的长度是未知的,那么我们就应该使用动态数组。C++提供了通过new关键字创建动态数组的方法,同时还可以使用delete操作符删除已分配的动态内存。现在我们可以创建一个int类型的动态数组,代码如下:

int* arr = new int[];

接下来,我们需要一个循环来让用户依次输入数组中的每个元素。我们可以使用while循环,因为我们不确定用户会输入多少个元素。while循环会一遍又一遍地执行,直到用户输入了某个特殊的值作为数组的结束符。这个特殊的值可以是任何你喜欢的非数字字符,例如”Q”或”#”等等。我们来看看下面的示例代码:

std::string input; // 用户输入的数字字符串

int i = 0; // 数组下标变量

while (true) {

  std::cout << "请输入数字(按Q键结束): ";

  std::cin >> input;

  if (input == "Q" || input == "q") // Q键作为结束符

    break;

  arr[i++] = std::stoi(input); // 将字符串转化为整数,并存储到动态数组中

}

在上面的代码片段中,我们使用了std::string类型的input变量来接受用户的输入。接着,我们使用std::cin来从控制台获取用户输入的数字,同时我们使用了一个if语句来判断用户是否输入了我们事先设定好的结束符(”Q”或”q”)。如果输入的是结束符,就使用break语句跳出循环,否则将输入的字符串转化为整数,存储到动态数组中,并将数组下标加1。

最后,我们应该在程序结束前,使用delete[]操作符删除已分配的动态内存,防止内存泄漏。代码如下:

delete[] arr;

总结一下,这篇文章介绍了如何使用C++循环输入未知长度的数组。我们使用了动态数组、while循环以及delete[]操作符,来实现用户依次输入数组中的每个元素。当然,如果你想使用其他的解决方案来实现输入未知长度的数组也是可以的,这里给出的仅仅是其中一种思路。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复