C++實例輸入多行數(shù)字到數(shù)組
C++輸入多行數(shù)字到數(shù)組
前天做某公司筆試題的時候,其輸入格式是多行數(shù)字,每行以空格為分隔符,以換行符號為結(jié)束輸入到多個數(shù)組。在JAVA中有相應(yīng)的函數(shù)直接將一行拆成數(shù)組,感覺在C++中這中輸入方式還是挺奇怪的,今天想出一種解決方式。
思路:
每次讀入一個字符,判斷是不是EOF,如果是的話跳出循環(huán);
不是EOF將字符放回緩沖區(qū);
讀入換行符,說明一行結(jié)束,處理數(shù)組;
讀入字符,如果不是空格,存入一個臨時的字符串;
如果是空格,字符串轉(zhuǎn)換成整數(shù)并壓入數(shù)組;
注意:
對于連續(xù)的空格輸入要進(jìn)行判斷,否則會輸入一堆0;
在讀入換行符的時候要將最后的臨時字符串存進(jìn)數(shù)組;
代碼:
#include<iostream> #include<string> #include<vector> #include<cstdlib> using namespace std; int main() { char flag; while ((flag=getchar())!=EOF) { putchar(flag); string tmpStr; vector<int> buff; char c; while ((c = getchar()) != '\n') { if (c != ' ') tmpStr.push_back(c); else { if (tmpStr != "") { buff.push_back(atoi(tmpStr.c_str())); tmpStr = ""; } } } if(tmpStr!="") buff.push_back(atoi(tmpStr.c_str())); for (auto a : buff) cout << a << ' '; cout << '\n'; } }
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
C語言實現(xiàn)魔方陣算法(幻方陣 奇魔方 單偶魔方實現(xiàn))
魔方陣是指由1,2,3……n2填充的,每一行、每一列、對角線之和均相等的方陣,階數(shù)n = 3,4,5…。魔方陣也稱為幻方陣,看下面的實現(xiàn)方法吧2013-11-11如何利用C++實現(xiàn)mysql數(shù)據(jù)庫的連接池詳解
為了提高M(jìn)ySQL數(shù)據(jù)庫的訪問的瓶頸,除了在服務(wù)器端增設(shè)緩存服務(wù)器緩存常用的數(shù)據(jù)之外(如redis),還可以增加數(shù)據(jù)庫連接池,來提高M(jìn)ySQL Server的訪問效率,這篇文章主要給大家介紹了關(guān)于如何利用C++實現(xiàn)mysql數(shù)據(jù)庫的連接池的相關(guān)資料,需要的朋友可以參考下2021-07-07