如何在不输入n的情况下输入数组中的元素? (C )
发布时间:2020-12-16 03:25:34 所属栏目:百科 来源:网络整理
导读:Input : 5 long long n;cinn;long long a[n];for(long long i=0;in;i++){ cina[i];} 如何在不输入n的情况下输入数组的元素? 这就是我寻找的: Input : 1,2,3,4,5 cout a[0] 输出: 1 解决方法 C中的标准输入滤波器循环是(cin a) – 这将读取,直到没有更多的
long long n; cin>>n; long long a[n]; for(long long i=0;i<n;i++){ cin>>a[i]; } 如何在不输入n的情况下输入数组的元素? 这就是我寻找的:
cout << a[0] 输出:
解决方法
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, 因此:使用std :: vector! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |