最近在做題時發現了這樣乙個問題,有些題目的資料是以單行給出的,比如(2 3 -92 234 275 -7)這樣的數列,用cin讀取不太方便(cin一般以換行結束乙個資料的輸入),所以常規做法是將之轉化為字串再行處理,但是在已知數列長度的情況下可以用以下方法讀取;
已知長度為n
for(i=0;i
cin>>a[i];
這種讀取方法在實現上更方便(在乙個新手看來,或許stl中有更好的方法不需要知道n)
---------------------------------------------
(不需要知道n)
再加點內容吧,要不然這篇也太水了點。。。
其實可以用cin>>noskipws讀取所有字元
然後判斷讀入的字元是否是數字,如果是,那麼把它放回到標準輸入流,再以普通方式讀取該數字,要用cin.putback();
具體可以這麼寫
while(cin>>c;)
結合其他ctype函式這個方法還可以用於其它輸入,比如符號,回車等的判斷和處理,效率上也沒有明顯下降
C 讀取txt中用逗號 空格 換行分隔的資料
更多txt檔案處理請見 使用c 時,免不了要讀取txt檔案中的資料,但是不同的資料格式導致讀取的方式不同,下面進行乙個小結。1.獲取資料夾下的檔名 void getallfiles string path,vector files else while findnext hfile,fileinfo...
js擷取以空格作為分隔符的字串
使用split 函式切割出來的長度有兩種情況 備註 trim 函式是用於去除字串兩端的空白字元。該函式可以去除字串開始和末尾兩端的空白字元 直到遇到第乙個非空白字串為止 它會清除包括換行符 空格 製表符等常見的空白字元。1 切割出來的長度包含有空格 var value this item.value...
關於向陣列中新增數字,數字延伸,斷續不變的問題
前兩天寫乙個需求如下 已有值分別為 1 2 3 4 5的資料,現新增資料的值為 2 確認往裡面新增後,則2前面的值保持不變,2以及2後面的值要依次往後順延一位。變更後的的排序值分別為 1 2 3 4 5 6 挺簡單的乙個小功能,寫個帖子也算是做個筆記 如下 public static void ma...