0

それで、宿題の最後の章の復習問題に取り組んでいます。

私の質問は、ユーザーが文字列の文を入力した場合、どのように単語数をカウントするのでしょうか? クラスでカバーされていなかった、またはクラスでカバーされるとは思いません。

文を要求し、getline を使用して文字列を読み取ることまではできましたが、入力をファイルに書き込み、同じファイルを開き、そのように単語をカウントする以外に、個々の単語をカウントするにはどうすればよいでしょうか?

4

3 に答える 3

3

これは宿題なので完全な答えではありませんが、 の機能を確認してください<string.h>。基本的に、文字列内の次の非空白文字を見つけ、次に次の空白文字を見つけて、カウンターをインクリメントし、文字列の最後に到達するまで繰り返します。

于 2016-09-11T03:39:29.017 に答える
0

入力文が a であるとしますstrchar *

int count = 0;
for(int i = 0; i < strlen(str); i++){
    while(i < strlen(str) && str[i] != ' ')
        i++;
    count++;
}

これは、クラスの特別なメソッドなしで手動でカウントを行う方法ですstring.h

于 2016-09-11T04:20:27.297 に答える
0

hereのように、文字列を空白で区切られたトークンの範囲に変換するために、std::istringstreamと組み合わせて使用​​できます。std::istream_iterator

範囲内の要素を数えるには、単に使用しますstd::distance

宿題なので実際のコードは提供しないと思いますが、お気軽に質問してください。

于 2016-09-11T03:57:39.083 に答える