一般題中要求輸入多組資料的意思就是讀取數量不定的輸入資料(不能確定輸入資料的數量),在這種情況下,需要不斷讀取資料直至沒有新的輸入為止。
#include int main()
return 0;
}
上面是使用c語言的的方法,把輸入語句作為while迴圈的判斷條件,當輸入資料不是檔案結束符(eof)的時候,就可以實現連續輸入
沒有明確指出輸入什麼時候結束
如果是這種情況,我們預設是以「檔案結束」(eof)為結束標誌。
可以將上述的eof改為』\n』,裡面改為printf(』』%d,a』』),表示為輸入不為換行時持續輸入,保證一行輸入多個不定量資料。
#include using namespace std;
int main()
return 0;
}
方法二是用c++for迴圈實現,將輸入語句作為for迴圈的condition部分,而expression部分省略不寫,因為條件部分能改變i的值,所以這個迴圈無需表示式部分,其中,條件部分不斷檢查輸入流的內容,只要讀取完所有的輸入或者遇到乙個輸入錯誤就終止迴圈
c語言
1.知道輸入資料組數n
scanf("%d",&n);
whlie(n–)
2.沒有資料總數,以eof結束
可能用的幾個函式:
scanf():
while(scanf("%s|%d")!=eof)
getchar():讀入乙個字元
whlie((ch=getchar())!=eof)
gets():讀入一行
while(gets(buf)!=null)
用getchar,gets注意讀入換行符.
3.以0或-1結束的輸入.
while(scanf("%d",&n),n!=0)
getline讀字串時遇到換行符結束,用於讀一整行
char str[buffer];
while (cin.getline(str, buffer))
string str;
while (getline(cin, str))
cin/cout要比scanf/printf慢一些,盡可能使用scanf/printf以避免測試大量資料時因為輸入輸出慢而導致tle. putchar/getchar要比scanf/printf更快
包含其他輸入後讀入多行字串
例如一些程式設計題要求先輸入字串行數,然後再一行一行讀入字串。如果正常順寫程式設計的話,會發現第一行字串讀入的是空,後續才能正常錄入每行字串。
這是因為第一行輸入乙個int資料後,換行符並沒有被忽略,直接被準備讀入第一行字串的getline俘獲。
所以需要在第一行輸入乙個int資料後,呼叫cin.ignore()忽略下面的乙個流錄入,將其拋棄。
int n;
cin>>n;
cin.
ignore()
;//取消換行鍵的讀入
string strcinline[
100]
;for
(int i =
0;i)getline
(cin,strcinline[i]
);
或者給strcinline動態申請空間,節省空間開銷。
int n;
cin>>n;
cin.
ignore()
;//取消換行鍵的讀入
string* strcinline =
new string[n]
;for
(int i =
0;i)getline
(cin,strcinline[i]);
delete
strcinline;
//記得釋放動態空間
strcinline =
null
;
在c語言中,或更精確地說成c標準函式庫中表示檔案結束符(end of file)。在while迴圈中以eof作為檔案結束標誌,這種以eof作為檔案結束標誌的檔案,必須是文字檔案。在文字檔案中,資料都是以字元的ascii**值的形式存放。我們知道,ascii**值的範圍是0~127,不可能出現-1,因此可以用eof作為檔案結束標誌。
main()
}
當沒有輸入的時候,getchar會返回乙個特殊值,這個值就是eof。
acm 新手入門 之 如何實現多組輸入輸出
c/c++中輸入多組資料方法
c/c++讀入多行字串string
後面的文章也有很好的解決方法,可以一起看看
c++:如何輸入多行數字/字串
處理多行輸入資料
要求如上圖,如下 include include include 要使用stringstream,必須先加入這一行 using namespace std int main cout sum endl getline使用時可以接受空格並輸出,同時可以指定分隔符 getline ss,temp,參考資...
cin 回車結束輸入
一般來說,cin遇到空格和回車都會忽略,但昨天做一道ccf的試題,要求是輸入一些資料,這些資料長度不定,而且不能輸入別的資料 比如特定的結束符或者ctrl z 這就要求輸入必須能識別兩個回車並自動結束 結果我沒做出來 嗯,回來之後查了一下這個問題,這個問題還是蠻簡單的,一般來說,你在cmd裡輸入的資...
關於判斷輸入結束
我們平時在oj上提交題目的時候,輸入可以在while後面的小括號裡處理,由於c 的流會自動判斷檔案的結尾,操作起來很簡單,如下題 problem description calculate a b.input each line will contain two integers a and b.p...