C++ 输入一行未知个数的整数

Posted spearhead_cai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 输入一行未知个数的整数相关的知识,希望对你有一定的参考价值。

最近笔试的时候,编程题遇到这样要求的输入,需要输入一行整数,个数未知,然后整数之间用空格间隔,如下所示:

11 22 333 45 62

代码如下所示:

int main()

    vector<int> inputs;
    int n = 0, k=0;
    int i;  
    cin >> i;
    inputs.push_back(i);
    while (cin.get() != '\\n')    
        cin >> i; 
        inputs.push_back(i);
       

    system("pause");
    return 0;

更完整代码如下所示,编程题目是要求找到给定整数序列中第K个大的数字:

#include<iostream>
#include<vector>

using namespace std;
int find_k_max_nums(vector<int> array, int k)
    int res = 0;
    sort(array.begin(), array.end(), greater<int>());
    res = array[k - 1];
    return res;


int main()

    vector<int> inputs;
    int n = 0, k=0;
    int i;  
    cin >> i;
    inputs.push_back(i);
    while (cin.get() != '\\n')    
        cin >> i; 
        inputs.push_back(i);
       
    cin >> k;

    int res = find_k_max_nums(inputs, k);
    printf("%d\\n", res);


    system("pause");
    return 0;

结果如下:

以上是关于C++ 输入一行未知个数的整数的主要内容,如果未能解决你的问题,请参考以下文章

C++ 基本 While 循环:未知输入和值增量

在 C++ 中的单个输入行中读取整数列表

如何 用c语言 实现输入不定数目的一行整数

C++(39)——与指定数字相同的数的个数

C++(39)——与指定数字相同的数的个数

[编程题] 糖果谜题 C++实现输入未知个整数