最近在找實習,做筆試的時候,有時候連輸入輸出都要折騰很久,就大大降低了效率,總不能死在了輸入輸出上吧!自己平時熟悉c++,總結下c++常見的輸入輸出,希望下次筆試輸入輸出不再是問題:-)
oj(online judge)的工作原理是我們提交程式,後台編譯程式,然後執行編譯好的程式,將結果儲存在檔案中,然後對比檔案比較使用者的輸出和標準答案,然後得出通過率。
oj模式的題目,程式需要stdin(標準輸入)讀取輸入,然後stdout(標準輸出)來列印結果,舉個例子,你可以使用c++的cin來讀取輸入,然後使用c++的cout來輸出結果。如果oj一次處理多個case,**需要迴圈處理,一般通過while迴圈來處理多個case。常見的輸入格式:
[程式設計題]a+b
計算a+b的和每行包含兩個整數a和b
對於每行輸入對應輸出一行a和b的和
輸入1 5
輸出
#include
using
namespace std;
intmain()
先輸入乙個組數n,然後再迴圈讀取n組資料。
#include
using
namespace std;
intmain()
return0;
}
因為oj最終只比較檔案,就不用儲存所有輸入,可以讀一組資料計算一組資料。
當讀取字串的時候需要注意,cin
不能讀取空白字元,比如空格,如果遇到空格則會直接終止字串。
#include
#include
using
namespace std;
intmain()
執行的結果:
abc 123
abc請按任意鍵繼續. .
.
如果要讀取整行字串,可以使用getline()
和cin.getline()
這兩個函式,兩個函式都是遇到定界符,則結束這行的字串,定界符預設設定為回車。兩個函式略有不同的是,getline()
操作的物件是string,cin.getline()
操作的物件的char陣列。詳細的定義如下:
getline()
,要使用這個函式需要包含標頭檔案,
istream&
getline
(istream& is, string& str,
char delim)
;istream&
getline
(istream& is, string& str)
;
#include
#include
using
namespace std;
intmain()
執行結果:
abc 123
abc 123請按任意鍵繼續. .
.
cin.getline()
函式讀取至新行結尾或直到達到最大限制的整行文字。函式定義如下:
// (buffer, stream_size, delimiter)
istream&
getline
(char*,
int size,
char
='\n'
)// the delimiter character is considered as '\n'
istream&
getline
(char*,
int size)
提取字元直到定界符。
將字元儲存在緩衝區中。
提取的最大字元數為size-1
。
#include
using
namespace std;
intmain()
執行結果:
no bug forever
no bug forever請按任意鍵繼續. .
.
例子:
輸入為6個數字,每個數字用逗號,
分隔,將數字儲存到乙個一維陣列中。
11,22,33,44,55,66
#include
#include
#include
#include
using
namespace std;
void
test()
} istringstream isstr
(str)
; string tmp;
while
(isstr >> tmp)
for(
int& i : vec)
cout << endl;
}int
main()
執行結果:
11,22,33,44,55,66
11 22 33 44 55 66
請按任意鍵繼續. .
.
string str;
vector v;
while
(getline
(cin, str)
)//讀取輸入的一行資料
C 輸入輸出總結
返回值 引數功能 istream char int,char 第乙個引數用於放入輸入字串的位址,第二個引數表示讀取的最大字元數 1,第三個表示用作分界符的字元。返回對cin物件的引用。該函式讀取到最大數目字元或遇到分界符為止。分界符留在輸入流中 istream char int 第乙個引數用於放入輸...
C常用輸入輸出總結
一 輸入輸出格式 1 整型 scanf d m int scanf ld m long int scanf lld m long long int2 浮點型 1 基本格式 scanf f m float scanf lf m double2 加域寬 includeint main return 0 ...
C語言的輸入輸出總結
putchar 把變數中的乙個字元常量輸出到顯示器螢幕上 getchar 從鍵盤上輸入乙個字元常量,此常量就是該函式的值 printf 把鍵盤中的各類資料,加以格式控制輸出到顯示器螢幕上 scanf 從鍵盤上輸入各類資料,並存放到程式變數中 puts 把陣列變數中的乙個字串常量輸出到顯示器螢幕上 g...