在C++中的一行中插入多个输入

nxagd54h  于 2023-06-25  发布在  其他
关注(0)|答案(5)|浏览(115)

我尝试在一行中插入多个输入,输入之间使用逗号和空格。到目前为止我一直使用的方法是用空格分隔输入。

int a, b , c ,d
cin >> a >> b >> c >> d ;

使用此方法,输入行如下所示:
但我希望能够输入这样的数据:

1, 2, 3, 4
uelo1irk

uelo1irk1#

>>的分隔符是不可修改的,但可以将其与ignore组合使用:

std::cin >> a;
std::cin.ignore(1, ',')

// rinse and repeat
xoshrz7s

xoshrz7s2#

你可以这样做:

int main() {
        int a,b,c,d;
        char comma;
        std::cin >> a >> comma >> b >> comma >> c >> comma >> d;
        std::cout << a << " " << b << " " << c << " " << d << std::endl;
        return 0;
}

输入:

1, 2, 3, 4

输出:
演示:http://www.ideone.com/tXQZd

3duebb1j

3duebb1j3#

在C / C++中,你只需要这样做:

scanf("%d, %d, %d, %d", &a, &b, &c, &d);

您只需要包含<cstdio>

9ceoxa92

9ceoxa924#

你可以这样做-

for (int i = 0; i < 6; i++)
        {
            /* code */
            for (int j = 0; j < 6; j++)
            {
                /* code */
                cin >> arr[i][j];
    
                cin.ignore(1, ' ');
            }
            cout << endl;
        }

这将采用6*6数组输入作为
-9 -9-9 -9 11 1
0 - 9 0 4 3 2
-9 - 9 - 9 1 2 3
0 0 8 6 6 0
0 0 0 - 2 0 0
0 0 1 2 4 0

gzszwxb4

gzszwxb45#

你可以这样做,在输入上运行一个循环,并将所有输入放入数组/向量中,然后使用该数组/向量。

#include <iostream>
#include <vector>

int main() {
    std::vector<int> numbers;
    int num;

    // Read inputs until the end of the line
    while (std::cin >> num) {
        numbers.push_back(num);

        // Check for newline character or end of file
        if (std::cin.peek() == '\n' || std::cin.peek() == EOF)
            break;
    }

    // Print the numbers
    for (int i : numbers) {
        std::cout << i << " ";
    }

    return 0;
}

相关问题