2012-08-09 17 views
0

我正在寫一個算法,我最多需要10個輸入。用戶可以輸入任意數量的輸入。問題是我不能告訴用戶,最後輸入你必須輸入-1或其他任何東西。我需要找到一個機制來做到這一點。有人對此有任何建議嗎?我正在從標準輸入文件讀取整數,並且必須在用戶停止輸入整數時停止。如何做到這一點?

+0

計數您輸入的次數,並在'count == 10'時停止 – rohit89 2012-08-09 13:03:37

+1

通常,空行用於表示輸入結束。 – 2012-08-09 13:06:30

+0

提供更多詳情。你不會閱讀10入口然後停止閱讀? 「用戶可以輸入任何號碼」,這是什麼意思?你不能停止要求輸入?真奇怪。 – 2012-08-09 13:11:27

回答

0

僞代碼:

get count limit 
saturate to 10 

start loop (for count-limit times) 
scanf 
put value to array 
end loop 

或:

start loop 
scanf 
put value to array 
increment counter 
check if counter==10 or input is blank then quit 
end loop 
1

scanf()函數返回它成功地寫進對象的數量。 使用該值!

int n, a[10]; 
n = scanf("%d%d%d%d%d%d%d%d%d%d", a+0, a+1, a+2, a+3, a+4, a+5, a+6, a+7, a+8, a+9); 
printf("You entered %d values\n", n); 

說明用於特定片段時,用戶必須輸入信號的結束與一些錯誤的值(如 「42 13 -100 BOO」)或EOF(「42 13 -100 CTRL + d CTRL + d 「)。只需輸入回車沒有影響:"%d"轉換規格忽略它們。

相關問題