输入值后,如何在一个括号内显示值,例如“ {6,7,8,9}

时间:2018-10-19 19:42:44

标签: c++ arrays

#include <iostream>

using namespace std;

int main(){

int n;

cout << "No. of values : ";

cin >> n;

int array[n];

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

{

cin >> array[i];


}

return 0;

}

2 个答案:

答案 0 :(得分:0)

您可以像这样使用std :: cout:

#include <iostream>

using namespace std;

int main(){

    int n;

    cout << "No. of values : ";

    cin >> n;

    int array[n];

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

    {
        cin >> array[i];
        if(i ==0)
            std::cout<<"{" <<array[i];
        else if(i == n-1)
            std::cout<<","<<array[i]<<"}";
        else
            std::cout<<","<<array[i];
    }

    return 0;

}

答案 1 :(得分:0)

@mystic的答案使用数组,可以很好地工作。您也可以使用向量。迭代向量有更高级的方法,但是为了使它简单起见,这里没有包括在内。

#include <iostream>
#include <vector>

using namespace std;

int main() {
    vector<int> intVector{};

    int n;
    int input;

    cout << "No. of values : ";
    cin >> n;

    for (int i = 0; i < n; i++) {
        cin >> input;
        intVector.push_back(input);
    }

    // Print out the array
    cout << "{";

    for(int i = 0; i < intVector.size(); i++) {
        cout << intVector[i];
        // print out the comma, except for the last number
        if(i < intVector.size() - 1) {
            cout << ", ";
        }
    }
    cout << "}" << endl;

    return 0;

}

如果要使用迭代器来打印阵列,则可以使用以下代码替换打印循环:

    // Print out the array
    cout << "{";
    for(auto i=intVector.begin(); i!=intVector.end(); ++i) {
        if (i != intVector.begin()) {
            cout << ", ";
        }
        cout << *i;
    }
    cout << "}" << endl;