C/C++中輸入多組數(shù)據(jù)的方法
如果在剛開始學(xué)習(xí)算法,做算法題的時候,題上經(jīng)常會要求輸入多組數(shù)據(jù),對于剛開始學(xué)習(xí)的小白來說,可能不知道怎么算輸入多組數(shù)據(jù),也不知道該怎么處理,剛好想起來,就把方法記錄一下
怎么算輸入多組數(shù)據(jù)?
一般題中要求輸入多組數(shù)據(jù)的意思就是讀取數(shù)量不定的輸入數(shù)據(jù)(不能確定輸入數(shù)據(jù)的數(shù)量),在這種情況下,需要不斷讀取數(shù)據(jù)直至沒有新的輸入為止。
方法一:
#include <stdio.h> int main() { int a; while(scanf("%d",&a)!=EOF) { printf("%d\n",a); } return 0; }
上面是使用C語言的的方法,把輸入語句作為while循環(huán)的判斷條件,當(dāng)輸入數(shù)據(jù)不是文件結(jié)束符(EOF)的時候,就可以實現(xiàn)連續(xù)輸入
方法二:
#include <iostream> using namespace std; int main() { for(int i;cin>>i;) { cout << i << endl; } return 0; }
方法二是用C++for循環(huán)實現(xiàn),將輸入語句作為for循環(huán)的condition部分,而expression部分省略不寫,因為條件部分能改變i的值,所以這個循環(huán)無需表達(dá)式部分,其中,條件部分不斷檢查輸入流的內(nèi)容,只要讀取完所有的輸入或者遇到一個輸入錯誤就終止循環(huán)
方法三:
#include <iostream> using namespace std; int main() { int a; while(cin>>a) { cout << a << endl; } return 0; }
方法三和方法二類似,使用istream對象作為循環(huán)的判斷條件,檢測流的狀態(tài)。如果流是有效的,即流未遇到錯誤,那么檢測成功。當(dāng)遇到文件結(jié)束符(EOF)或者遇到一個無效輸入時istream對象的狀態(tài)就會變?yōu)闊o效。處于無效狀態(tài)的istream對象會使條件變假。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C++類中的常數(shù)據(jù)成員與靜態(tài)數(shù)據(jù)成員之間的區(qū)別
- C/C++ 中堆和棧及靜態(tài)數(shù)據(jù)區(qū)詳解
- 詳解C++編程中的靜態(tài)成員與可變數(shù)據(jù)成員
- C和C++中的基本數(shù)據(jù)類型的大小及表示范圍詳解
- C++讀取WAV音頻文件的頭部數(shù)據(jù)的實現(xiàn)方法
- C++數(shù)據(jù)精度問題的解決方案(對浮點(diǎn)數(shù)保存指定位小數(shù))
- C++數(shù)據(jù)結(jié)構(gòu)之文件壓縮(哈夫曼樹)實例詳解
- 關(guān)于C++靜態(tài)數(shù)據(jù)成員的實現(xiàn)講解
相關(guān)文章
Windows平臺下配置VS Code的C++環(huán)境教程
這篇文章主要介紹了Windows平臺下配置VS Code的C++環(huán)境教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Cocos2d-x學(xué)習(xí)筆記之CCScene、CCLayer、CCSprite的默認(rèn)坐標(biāo)和默認(rèn)錨點(diǎn)實驗
這篇文章主要介紹了Cocos2d-x學(xué)習(xí)筆記之CCScene、CCLayer、CCSprite的默認(rèn)坐標(biāo)和默認(rèn)錨點(diǎn)實驗,這是一個非常值得研究的問題,需要的朋友可以參考下2014-09-09