这个题目意思非常简单,重点是我们该如何处理这些问题。cpp和c语言都没有split函数,否则这个题目直接可以秒杀了。那我们该如何是实现这个题目呢?

  • 方法一: 使用cpp内置的sstream库,这里可以使用字符串流的形式+cin不能接收空格这两个特性来完成。
  • 方法二: 我们可以采用分组循环的方式来实现(推荐

具体机试的时候推荐使用方法二,因为不确定这个函数学校能不能使用。

#include <bits/stdc++.h>
#include <sstream>

using namespace std;

int main()
{
    string s;
    getline(cin, s, '.');
    stringstream ss(s);
    string t;
    while (ss >> t) {
        cout << t.length() << " ";
    }
  
    return 0;
}
#include <bits/stdc++.h>

using namespace std;

int main()
{
    string s;
    getline(cin, s, '.');
    int i = 0, n = s.length();
    while (i < n) {
        int start = i;
        while (i < n && s[i] != ' ') i++;
        cout << i - start << " ";
        i++;
    }
    return 0;
}