如何在不输入n的情况下输入数组中的元素? (c++)

2024-02-10

输入:5

long long n;
cin>>n;
long long a[n];
for(long long i=0;i<n;i++){
    cin>>a[i];
}

如何在不输入的情况下输入数组的元素n?

这就是我寻找的:

输入:1,2,3,4,5

cout << a[0] 

output:

1


C++ 中的标准输入过滤循环是while(cin >> a)- 这将一直读取,直到没有更多输入,或发生其他不好的事情:

#include <vector>
#include <iterator>
#include <iostream>
int main() {
  std::vector<int> nums;
  while (std::cin >> a) {
    nums.push_back(a);
  }
  std::copy(nums.begin(), nums.end(), ostream_iterator<int>{cout, " "});
}

您还可以使用带有输入迭代器的单行 - 读取向量中元素的最短方法:

#include <vector>
#include <iterator>
#include <algorithm>
#include <iostream>

int main() {
  std::vector<int> nums(std::istream_iterator<int>(std::cin), {});
  std::copy(nums.begin(), nums.end(), std::ostream_iterator<int>{std::cout, " "});
}

See IDEONE 示例在这里 http://ideone.com/X00ITW

然而,假设您希望忽略所有这些 C++ 的强大之处,恕我直言,强烈建议您不要这样做,您可以:

#include <iostream>
int main() {
  const int MAX_SIZE = 100;
  int nums[MAX_SIZE]; 
  int a;
  int i=0;
  while (std::cin >> a) {
    nums[i++] = a;
  }

  // do your output
}

请注意,您将:

  1. 需要猜测MAX_SIZE,
  2. 或者一旦读取的元素多于 MAX_SIZE 就手动处理重新分配;

因此:使用std::vector!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不输入n的情况下输入数组中的元素? (c++) 的相关文章

随机推荐

  • iPhone OS 实用应用程序 - 翻转视图和主视图通信

    我目前正在开发 iPhone 2 1 应用程序 我是 Objective C 的新手 有 Java 背景 我的应用程序以 Xcode 中可用的实用应用程序模板和 iPhone SDK 为基础 目前我有一些控件 例如UISlider和文本框
  • ssh2_auth_pubkey_file 身份验证总是失败

    我正在尝试使用 PHP 的 ssh2 函数连接到另一台机器 我知道 ssh 密钥是在没有密码的情况下创建的并且已正确分发 我可以ssh user host在我机器上的终端中连接到服务器 PHP 函数尝试使用 ssh 密钥文件连接到 IP 地
  • 如何保护 Firebase 数据库中用户和管理员的访问安全?

    我使用 Redux Saga 作为中间件 我通过查询将参数传递给 Firebase 数据库 但无法在数据库端访问它 Query database ref workouts child userId once value then snaps
  • 如何使用 C# 提取 MFCC

    我正在做一个个人项目 需要我用 C 进行一些信号处理和特征提取 更具体地说是提取MFCCs http en wikipedia org wiki Mel frequency cepstrum 有没有可用的代码用于在 C 中计算 MFCC 另
  • React.js - ForEach 作为一流组件?

    我听说过反应模板 但我仍然想知道是否可以制作一流的 ForEach 组件 我的最终目标是使这样的东西更具可读性 ul list map function item i return li item li ul instead ul ul
  • 调整窗口矩形文档

    MSDN 库将调整窗口矩形的 dwStyle 参数记录为 需要计算所需尺寸的窗口的窗口样式 请注意 您不能 指定 WS OVERLAPPED 样式 我还没有找到任何解释 他们所说的 不能 是什么意思 为什么我不能这样做 The WS OVE
  • 在 Javascript 中查看多页 TIFF

    我目前有多页TIFF图像 我需要通过 Javascript 逐页浏览它们 我对此一无所知 你能帮助我吗 我发现了一些其他问题 但似乎没有一个与 Javascript 有关 谢谢 我使用 Emscripten 将 LibTIFF 库移植到 J
  • 验证 .htaccess 文件中的 Googlebot

    我已经调查了一下 下面的代码可以工作吗 没那么容易检查 RewriteEngine on HostnameLookups Double RewriteCond REMOTE HOST googlebot com NC RewriteRule
  • 在 python 子进程中使用 exec 查找命令给出错误

    我正在尝试使用子进程模块 python 执行以下命令 usr bin find
  • Firefox 扩展内容脚本不会加载和附加 HTML

    下面的所有内容都可以在 Chrome 扩展中运行 但在移植到 Firefox 时会默默失败 加载中test html除非我删除 from it 附加 test element对身体 Firefox 扩展的样式是否必须放入单独的文件中 为什么
  • 我的 ViewModel 应该有视图或 ViewModel 的 ObservableCollection 吗?

    我试图理解使用时的基本 MVVM 设计方法项目控制通过绑定它数据模板 to 可观察集合在视图模型上 我见过绑定到 ObservableCollections 的示例strings Views and 视图模型 绑定到字符串似乎只是为了dem
  • 如何在 firefox 扩展中创建 JSON post 请求?

    我正在尝试调用 Google API 这是来自 Firefox 扩展的 JSON post 请求 例如 POST https www googleapis com urlshortener v1 url Content Type appli
  • Mac OS 10.9 不显示 Arduino 的 USB 调制解调器

    我正在尝试选择 dev tty usbmodem on my Arduino Lenardo设备 操作系统是Mac OSX 10 9 问题是它没有显示 我什至尝试安装FTDI http www ftdichip com Drivers VC
  • 高效的 p​​yspark join

    我读过很多关于如何在 pyspark 中进行高效连接的文章 我发现实现高效连接的方法基本上有 如果可以的话 使用广播连接 我通常不能因为数据框太大 考虑使用非常大的集群 我宁愿不因为 Use the 相同的分区器 最后一个是我宁愿尝试的一个
  • 双破折号 [--] 选项在 git Reset 上有什么作用?

    我见过这样的命令 git reset e542 readme txt 我了解此命令将提交 e542 中的文件 readme txt 的内容放入索引中 但什么是 选项在那里做什么 git reset 手册页将其列为前两种形式的可选 但我找不到
  • 如何构建神经网络来将两个数字相乘

    我正在尝试构建一个将 2 个数字相乘的神经网络 为了做同样的事情 我借助了 scikit learn 我想要一个具有 2 个隐藏层 5 3 和 ReLU 作为激活函数的神经网络 我已经定义了我的MLPRegressor如下 X data d
  • 校准 UI 加速度计?

    在我的应用程序中 我使用加速度计来控制游戏中的角色 现在我只允许纵向方向 因此用户必须向右或向左倾斜设备才能移动角色 到目前为止效果很好 我现在想要完成的是 校准 加速度计以考虑用户当前正在玩的倾斜度 假设用户侧躺 这些值将会倾斜 因为它没
  • 对于 BLOB,“length() IS NULL”是否与“IS NULL”等效且更快?

    我在 SSD 上有一个约 90 MB 的 SQLite 数据库 主要由消息附件组成 其中包括 BLOB 列内容 用于存储二进制附件数据 现在我发现以下查询 SELECT message id FROM attachments WHERE l
  • 如何创建 5 个值的数组/切片,所有值都相同

    Problem 在go编程语言中 如何创建一个长度为5的数组 并且所有元素具有相同的值 例如42 优先顺序 可读性 简洁性 性能 例如 package main import fmt func main s make int 5 for i
  • 如何在不输入n的情况下输入数组中的元素? (c++)

    输入 5 long long n cin gt gt n long long a n for long long i 0 i