牛客網輸入規範總結(c++部分)
阿新 • • 發佈:2018-12-27
注意:輸入的多組輸入,不是一組,已經猜了很多次坑了哦!
輸入
預先不輸入資料的組數
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函式返回了非零值
- 浮點錯誤——除以零
- 執行錯誤——指標亂指
- 段錯誤——指標越界