C/C++1行に1スペースおきにデータを入力
2412 ワード
1.既知データ数
問題は、まずデータの個数を入力し、別の行を開始し、スペースごとに整数を入力させるように設定します.手順は次のとおりです.
2.不明なデータ数
問題はただ1行のデータを入力させて、スペースは隔てて、データの個数を知らないで、それではどのようにプログラミングしますか?
1行入力が完了すると、プログラムはwhileに入り、ストリームに基づいて各文字を判断します.最初がスペースではないと判断すると、cinは次のスペースまでのデータ全体をintタイプに割り当てます.この機能はungetc()関数がストリームに文字を返す機能を巧みに適用している.
プログラムのその他の入力については、文字列stringまたはchar*を1行に入力します.以下の前のまとめを参照してください.
http://blog.csdn.net/fx677588/article/details/52606507C/C++プログラミング問題の先頭文字列、データ入力のいくつかの書き方http://blog.csdn.net/fx677588/article/details/52710996C/C++複数行文字列stringを読み込む
个人の学习の记录、能力と时间が有限なため、もし间违いがあるならば読者に正してもらいます、ありがとうございます!
転載は出典を明記してください:CSDN靴のない子供靴.
問題は、まずデータの個数を入力し、別の行を開始し、スペースごとに整数を入力させるように設定します.手順は次のとおりです.
int N;
int nArr[100];
cin>>N; // C , scanf("%d",&N)
for(int i=0;i>nArr[i]; // int , C , scanf("%d",nArr+i)
}
2.不明なデータ数
問題はただ1行のデータを入力させて、スペースは隔てて、データの個数を知らないで、それではどのようにプログラミングしますか?
#include
#include
using namespace std;
int main()
{
int nArr[100];
char c;
int i=0;
while((c=getchar())!='
') // , ,
{
if(c != ' ')
{
ungetc(c,stdin);// c , c ,
cin>>nArr[i++];// ,
}
}
return 0;
}
1行入力が完了すると、プログラムはwhileに入り、ストリームに基づいて各文字を判断します.最初がスペースではないと判断すると、cinは次のスペースまでのデータ全体をintタイプに割り当てます.この機能はungetc()関数がストリームに文字を返す機能を巧みに適用している.
プログラムのその他の入力については、文字列stringまたはchar*を1行に入力します.以下の前のまとめを参照してください.
http://blog.csdn.net/fx677588/article/details/52606507C/C++プログラミング問題の先頭文字列、データ入力のいくつかの書き方http://blog.csdn.net/fx677588/article/details/52710996C/C++複数行文字列stringを読み込む
个人の学习の记录、能力と时间が有限なため、もし间违いがあるならば読者に正してもらいます、ありがとうございます!
転載は出典を明記してください:CSDN靴のない子供靴.