C++實(shí)例輸入多行數(shù)字到數(shù)組
C++輸入多行數(shù)字到數(shù)組
前天做某公司筆試題的時(shí)候,其輸入格式是多行數(shù)字,每行以空格為分隔符,以換行符號(hào)為結(jié)束輸入到多個(gè)數(shù)組。在JAVA中有相應(yīng)的函數(shù)直接將一行拆成數(shù)組,感覺在C++中這中輸入方式還是挺奇怪的,今天想出一種解決方式。
思路:
每次讀入一個(gè)字符,判斷是不是EOF,如果是的話跳出循環(huán);
不是EOF將字符放回緩沖區(qū);
讀入換行符,說明一行結(jié)束,處理數(shù)組;
讀入字符,如果不是空格,存入一個(gè)臨時(shí)的字符串;
如果是空格,字符串轉(zhuǎn)換成整數(shù)并壓入數(shù)組;
注意:
對(duì)于連續(xù)的空格輸入要進(jìn)行判斷,否則會(huì)輸入一堆0;
在讀入換行符的時(shí)候要將最后的臨時(shí)字符串存進(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';
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
C++結(jié)構(gòu)體初始化的10種寫法總結(jié)
這篇文章主要為大家詳細(xì)介紹了10種C++中結(jié)構(gòu)體初始化的寫法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
C語言數(shù)據(jù)結(jié)構(gòu)之復(fù)雜鏈表的拷貝
復(fù)雜鏈表指的是一個(gè)鏈表有若干個(gè)結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)有一個(gè)數(shù)據(jù)域用于存放數(shù)據(jù),還有兩個(gè)指針域,其中一個(gè)指向下一個(gè)節(jié)點(diǎn),還有一個(gè)隨機(jī)指向當(dāng)前復(fù)雜鏈表中的任意一個(gè)節(jié)點(diǎn)或者是一個(gè)空結(jié)點(diǎn)。今天我們要實(shí)現(xiàn)的就是對(duì)這樣一個(gè)復(fù)雜鏈表復(fù)制產(chǎn)生一個(gè)新的復(fù)雜鏈表2021-11-11
C++類和對(duì)象深入探索之分文件編寫點(diǎn)和圓的關(guān)系詳解
先前把C++類和對(duì)象的封裝講完了,并且留下了一個(gè)判斷兩個(gè)立方體是否相等的案例,但是那么多知識(shí)點(diǎn),僅僅一個(gè)案例是不夠的,所以再來一個(gè)分文件編寫點(diǎn)圓關(guān)系的案例;創(chuàng)建圓類和點(diǎn)類,圓類包含點(diǎn)類,算是一個(gè)嵌套吧,順便復(fù)習(xí)一下分文件編寫的方法,開整2022-05-05
C++中浮點(diǎn)數(shù)、double類型如何與0值作比較詳解
浮點(diǎn)數(shù)在內(nèi)存中的存儲(chǔ)機(jī)制和整型數(shù)不同,其有舍入誤差,在計(jì)算機(jī)中用近似表示任意某個(gè)實(shí)數(shù),這篇文章主要介紹了C++中浮點(diǎn)數(shù)、double類型如何與0值作比較的相關(guān)資料,需要的朋友可以參考下2025-03-03
C語言中isalnum()函數(shù)和isalpha()函數(shù)的對(duì)比使用
這篇文章主要介紹了C語言中isalnum()函數(shù)和isalpha()函數(shù)的對(duì)比使用,都可以判斷是否為字母但isalnum的判斷還包括數(shù)字,需要的朋友可以參考下2015-08-08

