博主参加2019年校招,在线编程题总是gg,gg到怀疑人生。现在总结一下在线编程中关于输入输出需要注意的地方。本帖子会不断更新,直到记录到博主找到心仪的工作为止。
1. 关于字符串的输入问题
1.1 多行字符串的第一种输入方法
输入:
10.70.44.68~255.254.255.0
1.0.0.1~255.0.0.0
192.168.0.2~255.255.255.0
19..0.~255.255.255.0
则代码如下
#include<iostream>
#include<stdio.h>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<string>input_data;
string s;
while (cin >> s)
input_data.push_back(s);
//打印是否输入正确
for (int i = 0; i < input_data.size(); ++i)
cout << input_data[i] << endl;
system("pause");
return 0;
}
注意:必须要输入终止符号 "ctrl+z"才能终止while循环!!1
1.2 多行字符串的第二种输入方法
则代码如下:
#include<iostream>
#include<stdio.h>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<string>input_data;
string s;
while (getline(cin,s))
input_data.push_back(s);
//打印是否输入正确
for (int i = 0; i < input_data.size(); ++i)
cout << input_data[i] << endl;
system("pause");
return 0;
}
1.3 一行中输入以空格分开的多个字符串
输入:
wo ai ni
代码:
#include<iostream>
#include<stdio.h>
#include<string>
#include<vector>
#include<algorithm>
#include<stack>
using namespace std;
int main()
{
stack<string>input_data;
string s;
while (cin >> s)
input_data.push(s);
//打印是否输入正确
while (!input_data.empty())
{
cout << input_data.top() << endl;
input_data.pop();
}
system("pause");
return 0;
}
运行结果:
1.4 混合输入每行字符串的方式
输入描述:
https:\\wert\\yuo\\fpgadevelop.c 1030 1
https:\\wert\\ydeo\\fpgadevelopr.c 1031 2
1.4.1 第二种输入方式
直接以string型字符串+int型+int型来存放每行的字符串
代码:
#include<stdio.h>
#include<string>
#include<vector>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
string input1;
int input2;
int input3;
while (cin >> input1 >> input2 >> input3)
{
cout << input1 << " " << input2 << " " << input3 << endl;
}
system("pause");
return 0;
}
输出: