在使用OJ(比如牛客)码代码的时候,经常碰上处理输入输出的问题,以下记录一下自己遇到的坑
1. 从输入获取一个数组,但是这个数组适用逗号(或者其他乱七八糟的,反正不是空格)
通常出现在不给定数组长度,需要自己循环获取数组时
// 假设从屏幕获取一个以逗号分隔的数组 如5,3,4,1,1 但是数组长度没有给定
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
int main()
{
vector<int> input; // 数组长度不固定,用vector处理
/* 获取输入 */
string inputStr; // 首先接收为字符串
cin>>inputStr;
int pos=inputStr.find(',');
while(string::npos != pos)
{
inputStr.replace(pos,1,1,' ');
pos=inputStr.find(',');
} // 将字符串中所有的逗号替换为空格
stringstream ss;
ss<<inputStr; // 将处理后的字符串写入字符流, 现在是一个用空格分隔的输入
// 现在输入可以看作5 3 4 1 1
int tmp=0;
while(ss>>tmp)
{
input.push_back(tmp);
} // 从字符流获取输入&