📌  相关文章
📜  在 C++ 中输入 n 个空格分隔的整数(1)

📅  最后修改于: 2023-12-03 15:23:07.584000             🧑  作者: Mango

在 C++ 中输入 n 个空格分隔的整数

在 C++ 中,要输入 n 个空格分隔的整数,可以使用标准输入流 cinfor 循环结合使用。下面是一段示例代码:

#include <iostream>
using namespace std;

int main() {
    int n;
    cin >> n;  // 先输入数组的长度 n
    int arr[n];
    for (int i = 0; i < n; i++) {
        cin >> arr[i];  // 循环输入 n 个整数到数组中
    }
    return 0;
}

在这段代码中,首先输入了数组的长度 n,然后声明了一个长度为 n 的整型数组 arr,接下来使用 for 循环将 n 个整数从标准输入流中输入到数组中。

如果输入的整数之间是用逗号或其他不是空格的字符分隔的,则需要修改代码中的输入方法,例如:

#include <iostream>
#include <sstream>
using namespace std;

int main() {
    int n;
    cin >> n;  // 先输入数组的长度 n
    int arr[n];
    string input;
    getline(cin, input);  // 读取并舍弃第一行的换行符
    getline(cin, input);  // 读取整行输入
    istringstream iss(input);  // 将字符串转换为输入流
    for (int i = 0; i < n; i++) {
        iss >> arr[i];  // 从输入流中取出下一个整数到数组中
        char c;
        iss >> c;  // 读取输入流中的分隔符
    }
    return 0;
}

在这段代码中,先输入了数组的长度 n,然后使用 getline 函数读取并舍弃第一行的换行符。接下来,使用 getline 函数读取输入的整行内容,并将其转换为 istringstream 类型的输入流,即 iss。然后使用 for 循环遍历数组,每次使用 iss 输入流取出下一个整数,并读取输入流中的分隔符。