判斷輸入是否結束(不給定輸入個數,oj常見)

2021-10-24 10:49:24 字數 281 閱讀 6644

while( cin >> x )輸出str或ch時會發現,str是乙個空字串,而ch是乙個換行符。出現這種情況的原因是,當我們在輸入完a和b並按下鍵的時候,實際上這個回車符被gets或getchar讀取了。(全部只用scanf或者全部只用gets的話是不會出現這個問題的)

解決該問題,我們應該

while( scanf("%d%d", &a, &b)
即在輸入完a和b以後用乙個getchar將回車符吃掉,這樣這個回車符就不會被後面的gets或getchar讀取到了。

關於判斷輸入結束

我們平時在oj上提交題目的時候,輸入可以在while後面的小括號裡處理,由於c 的流會自動判斷檔案的結尾,操作起來很簡單,如下題 problem description calculate a b.input each line will contain two integers a and b.p...

判斷輸入是否合法

一 判斷輸入是否為數字 通常使用方法1和3,方法2和4無法保證一定能判斷正確。1 函式isdigit 表頭檔案 include 定義函式 int isdigit char c 函式說明 檢查引數c是否為阿拉伯數字0到9。返回值若引數c為阿拉伯數字,則返回true,否則返回null 0 2 當使用ci...

c之輸入陣列判斷結束

從剛接觸 到現在,見過各種各樣的輸入要求,比如 1.輸入一行數字,以 1為結束 2.輸入字串,以回車結束 3.輸入10個數字 等等有時候就是這些基本的輸入問題,阻撓了解題的腳步 其他的暫時沒有想到,今天嘗試了一下將一串數字輸入進陣列,以 1結束 例項 int array 1000 int i 0 w...