[boj](b 2)1152単語の個数


󛞭完全ナビゲーション⌝getline(cin,str)

質問する



に答える


問題自体は完全探索なので、スペースを1つ数えるだけでいいので難しくありません.
ただし、スペースを含む文字列を受信するためcinを直接入力するのではなく、getline(cin,str)を入力する必要があります.

に注意


文字列の先頭と末尾にスペースがある場合を考慮

コード#コード#

#include <iostream>
#include <algorithm>
#include <string>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    string str;
    getline(cin, str);

    int cnt = 1;
    if(str[0] == ' '){
        for (int i = 1; i < str.length(); i++)
        {
            if (str[i] == ' ')
                cnt++;
        }
    }
    else{
        for (int i = 0; i < str.length(); i++)
        {
            if (str[i] == ' ')
                cnt++;
        }
    }

    if(str[str.length()-1] == ' ') cnt--;

    cout << cnt << "\n";

    return 0;
}