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

如何在不输入n的情况下输入数组中的元素? (C ),第1张

概述Input : 5 long long n;cin>>n;long long a[n];for(long long i=0;i<n;i++){ cin>>a[i];} 如何在不输入n的情况下输入数组的元素? 这就是我寻找的: Input : 1,2,3,4,5 cout << a[0] 输出: 1 C中的标准输入滤波器循环是(cin>> a) – 这将读取,直到没有更多的输入,或其

input : 5

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

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

这就是我寻找的:

input : 1,2,3,4,5

cout << a[0]

输出:

1

@R_404_6120@ C中的标准输入滤波器循环是(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(),std::ostream_iterator<int>{std::cout," "});}

见Ideone example here

然而,假设您希望忽略所有这些C的惊人,强烈劝阻IMHO,您可以:

#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}

请注意,您将:

>需要猜测MAX_SIZE,
>或者在读取MAX_SIZE以外的元素时手动处理重新分配;

因此:使用std :: vector!

总结

以上是内存溢出为你收集整理的如何在不输入n的情况下输入数组中的元素? (C )全部内容,希望文章能够帮你解决如何在不输入n的情况下输入数组中的元素? (C )所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1255629.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存