牛客网做题时需要自己写输入输出,下面分别说明cin和cout怎么用
cin&cout:
cin会以空格、回车或者tab作为输入结束符、间隔符。

  1. 若已知当前有几个数字,直接输入输出即可,例如:
    cin>>a>>b; cout<<a+b<<end;
  2. 若要输入数组,则第一行会肯定的告诉数组的大小,然后循环输入即可。
    cin>>len;
    vector<int> rec(len);
    for(int i=0;i<len;i++)
     cin>>rec[i];    或者是int t = 0;cin>>t;rec.push_back(t);
    </int>
  3. 若是输入字符串有两种方法
    一是同样用vector或者是用char数组存储,不过此时要用动态数组开辟空间,数组长度应该是获得数组的长度+1,因为最后要输入‘\0’。
    char *rec = new char[len+1];
    cin>>rec; //因为输入字符串时,中间不会产生空格
    或者是用sring
    string rec;
    cin>>rec;

敲重点若是要输入带空格的字符串
若是使用string类,则可以直接使用

string str;
getline(cin,str);//即可存储带空格的字符串,会将换行符丢失掉

若对于字符型数组char str[len],可以使用

cin.get(str,len)
cin.getline(str,len)//两种方法实现
//str指的是字符要存入的位置地址,len为要存入的长度
//getline和str的区别getline不保存最后的换行符,而get保存最后的换行符,此时,getline比get获得的长度小1.

4.输出的话直接cout<<要输出的东西<<endl即可。
scanf&printf
scanf也是在遇到空格或者是回车时输入结束。
对于scanf和printf在使用速度上会更快速,还可以格式化输入输出,使用时要加载#include<stdio.h>头文件。
1.使用scanf输入单个或者是已知个数的字符,
int a,b;
scanf("%d%d",&a,&b);即可
2.使用scanf输入数组,也要一直数组的个数,
int len;
scanf("%d",&len);
for(int i=0;i<len;i++)
scanf("%d",&a[i]);即可
3.输入字符串
string str;
scanf("%s",str);
或者是用
char str[len];
scanf("%s",str); //此时不用取地址符,数组名即为地址
注意输入时不能有空格或者回车,如果有的话要循环输入,或者是多次输入。
string str1,str2;
scanf("%s%s",str1,str2);
4.printf直接输出即可,要找到对应的输出格式printf(“%d”,a);即可。
对于字符型printf("c%",a);