【超详细 | 校招 | 秋招 | 面试】在ACM模式(牛客企业面试)下C++语言的输入和输出方式汇总

平时一直用leetcode的核心代码模式,但是招聘的时候好多企业代码题是用的牛客平台的ACM模式,因此将常见的输入输出总结在这里。以供自己回顾,也给有缘人提供 一个思路。会时常更新的,有空的话。

目录

    • 一、输入
      • 1、数组输入
        • 1.1 输入整数 199501
        • 1.2 输入
      • 2、字符串输入
        • 2.1 输入 hello wang jing yu
          • 2.1.1 方法一:cin+getchar
          • 2.1.2 方法二:cin+getline
    • 二、输出
        • 2.1 没想好
        • 2.2 先把番号建立在这里
    • 参考资料:
      • 0、官方文档(输入输出流)
      • 1、@道道要加油
      • 2、getline()函数用法
      • 3、rfind详细用法
      • 4、做道题自测一下吧

一、输入

1、数组输入

1.1 输入整数 199501
#include//万能头文件,后面不在写这一个了,默认有
using namespace std;

int main(){
    int n;
    cin>>n;//此时n = 199501整数
    
    //下面就可以写自己的核心算法了
    //
    //最后用cout输出答案  
  
    return 0;
}
1.2 输入

2、字符串输入

2.1 输入 hello wang jing yu
2.1.1 方法一:cin+getchar
  • 可以用下面的代码来实现,cin读取的时候遇到空格和回车就停下来结束读取,空格和回车还遗留在缓冲区等待读取,所以用getchar()来清除不需要的空格和回车。
  • 于此同时,在getchar()遇到回车的时候说明这个测试用例已经完成了,你可以进行相应的算法设计。
  • getchar()也可以替换成if(cin.get() == ‘\n’)
int main() {
    string str;
    vector<string> strs;
    while (cin >> str) {
        strs.push_back(str);
        if (getchar() == '\n') {//一个测试用例的结束
            //此时strs = {"hello", " wang", "jing", "yu"};
            //把strs作为实参传入以前核心代码模式的形参当中
            //进行你自己的算法设计
        }
    }
    return 0;
}
2.1.2 方法二:cin+getline
int main()
{
    string s;
    getline(cin, s);//此时s = {"hello wang jing yu"};
    //
    //接下来,可以对s进行算法设计,注意s里面是有空格的
    cout << s.length() - 1 - s.rfind(' ') << endl;
}

二、输出

注意:这里的输出是cout,不是像核心代码模式那样是return

2.1 没想好

阿巴阿巴阿巴阿巴阿巴阿巴

2.2 先把番号建立在这里

阿巴阿巴阿巴阿巴阿巴阿巴

参考资料:

0、官方文档(输入输出流)

点一下这里

1、@道道要加油

点一下又不怕啥的

2、getline()函数用法

瞧瞧

3、rfind详细用法

看看

4、做道题自测一下吧

这就去做

你可能感兴趣的:(秋招,面试,c++,职场和发展,求职招聘)