校招时在线编程题目输入输出需要注意的地方总结大全

博主参加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;
}

输出:

猜你喜欢

转载自blog.csdn.net/qq_33221533/article/details/82120486