C/C++1行に1スペースおきにデータを入力


1.既知データ数
問題は、まずデータの個数を入力し、別の行を開始し、スペースごとに整数を入力させるように設定します.手順は次のとおりです.
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靴のない子供靴.