我需要製作一個程序,它連續讀取n
數字。舉例來說,用戶首先將在2號的列表如下:連續閱讀直到控制檯中的換行符
P n
我設法讀那些scanf
但現在我需要閱讀n
下面的數字,這些數字在連續給如下。
1 6 3 99 ... n times
這些數字必須一次全部讀出(或給出印象)。
我已經嘗試過使用
while(getline(cin,str)){
// do something with str
}
如this thread解釋,但我需要while循環中的動作停止時,我打了前奏關鍵。在我目前的實施中,他們不會停下來,它只是在等待更多的線路閱讀。
總結: 首先,用戶必須能夠輸入兩個數字(P
和n
)(完成!),然後按下回車鍵開始輸入n
號碼列表(未完成!)。
這是我的代碼。
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main(void){
int P,n;
scanf("%d %d",&P,&n);
string val;
int score[P];
int i;
for(i=0;i<P;i++){
score[i]=0;
}
while(getline(cin,val)){
printf("Val=%s\n",val.c_str());
stringstream stream(val);
int local;
while(stream >> local){
score[local]=score[local]+1;
printf("%d-%d\n",local,score[local]);
}
}
for(i=0;i<P;i++){
printf("%d-%d\n",i,score[i]);
}
return 0;
}
您是否需要明確退出閱讀模式? – victor
我不明白你想說什麼,但我只需要在最後打印得分數組。 –
用戶輸入P n並點擊輸入。然後他鍵入1 2 3 4 5,然後按回車。在這一點上,你是否希望用戶能夠輸入其他數字,或者你想讓閱讀停止? – victor