牛客网输入规范总结(c++部分)

注意:输入的多组输入,不是一组,已经猜了很多次坑了哦!

 

输入

预先不输入数据的组数

while(cin>>a>>b){
    cout<<a+b<<endl;
}

 

预先知道数据组数

cin>>n;
for(int i=0; i<n; i++){
    int a,b;
    cin>>a>>b;
    cout<<a+b<<endl;
}

 

只有一组数据

cin>>a>>b;
cout<<a+b<<endl;

 

 

 

输出

不需要输出case数

cin>>n;
for(int i=0; i<n; i++){
    int a, b;
    cin>>a>>b;
    cout<<a+b<<endl;
}

 

需要输出case数

cin>>n;
for(int i=0; i<n; i++){
    int a, b;
    cin>>a>>b;
    cout<<"Case"<<i+1<<a+b<<endl;
}

 

每个case之后有空行

for(int i=0; i<n; i++){
    int a, b;
    cin>>a>>b;
    cout<<"Case"<<i+1<<a+b<<endl<<endl;
}

 

两个Case之间有空行

cin>>n;
for(int i=0; i<n; i++){
    int a, b;
    cin>>a>>b;
    if(i>0){
        cout<<endl;
    }
    cout<<"Case"<<i+1<<a+b<<endl;
}

 

 

处理细节和技巧

输入

不用保存所有组的输入,读一组算一组

“可恶”的字符串——带空白

  • scanf, cin之类都读到空白结束
  • gets, cin.getline。再自己parse
  • 用scanf, gets代替cin

 

输出

注意格式

  • 字母大小写
  • 什么时候换行
  • 输出“case”后面有没有“#”或者“:”之类。
  • 每行末尾有\n,但一般没有空白
  • 用printf代替cout。

 

OJ常见状态

  • 内存超限——使用内存过多
  • 返回非零——main函数返回了非零值
  • 浮点错误——除以零
  • 运行错误——指针乱指
  • 段错误——指针越界

 

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值