21xrx.com
2024-09-20 01:00:05 Friday
登录
文章检索 我的文章 写文章
如何在C++中输入未知数量的整数?
2023-06-22 13:48:35 深夜i     --     --
C++ 输入 未知数量 整数

在C++中,有时需要输入未知数量的整数,例如需要读取一系列数字或从文件中读取数据。在此情况下,可以使用循环结构以及动态内存分配的方法来读取未知数量的整数。

一种常见的方法是使用while循环来读取整数,并将它们存储在动态分配的数组中。首先需要声明一个指针来存储该数组,并使用new运算符来动态分配数组。然后,可以使用while循环来逐个读取整数,每次读取一个整数之后,数组的大小就会增加一个。最后,需要使用delete运算符释放动态分配的数组。

以下是使用while循环和动态内存分配的示例代码,可以读取未知数量的整数并将它们存储在动态分配的数组中:


#include <iostream>

using namespace std;

int main()

{

  // 定义一个动态分配的整数数组指针

  int* nums = new int[1];

  int count = 0;

  // 使用while循环读取整数

  while (cin >> nums[count])

  {

    // 数组大小增加一

    count++;

    // 动态分配更多的数组空间

    int* temp = new int[count + 1];

    // 将数组中的原始数据复制到新数组中

    for (int i = 0; i < count; i++)

    {

      temp[i] = nums[i];

    }

    // 释放原始数组的内存空间

    delete[] nums;

    // 将指针指向新分配的数组

    nums = temp;

  }

  // 输出读取的整数

  for (int i = 0; i < count; i++)

  {

    cout << nums[i] << " ";

  }

  // 释放动态分配的数组内存空间

  delete[] nums;

  return 0;

}

通过使用while循环和动态内存分配,可以轻松地读取未知数量的整数,并将它们存储在动态分配的数组中。请注意,在读取数字的过程中,如果输入结束符或无效输入,则循环将停止,并且数组中将仅包含读取到的有效整数。因此,在使用此方法时,需要确保输入的数据是正确的,并按照您的预期运行。

  
  

评论区

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