c++数组在同一行没有空格输入数据 ,会被归入到一个数字中 怎么解决。要求输入是一行数字不能有任何分隔符
时间: 2024-05-15 07:12:33 浏览: 189
可以使用字符串流istringstream将输入的字符串转换成数字,然后存入数组中。以下是一个示例代码:
```c++
#include <iostream>
#include <sstream>
using namespace std;
int main() {
const int N = 5; // 数组大小
int arr[N]; // 数组
string input; // 输入的字符串
getline(cin, input); // 获取一行输入
istringstream iss(input); // 将输入的字符串转换成字符串流
for (int i = 0; i < N; i++) {
int num;
iss >> num; // 从字符串流中读取数字
arr[i] = num; // 存入数组中
}
// 输出数组
for (int i = 0; i < N; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
示例输入:
```
1234567890
```
示例输出:
```
12345 67890
```
注意:上面的代码假设输入的数字个数等于数组大小,如果输入的数字个数超过了数组大小,会导致数组越界。在实际代码中需要加入相应的判断。
阅读全文