210723 单词的长度

题目描述

输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。

注意:如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。

输入格式

一行单词序列,最少 1 个单词,最多 300 个单词,单词之间用至少 1 个空格间隔。单词序列总长度不超过 1000

输出格式

依次输出对应单词的长度,之间以逗号间隔。

样例

样例输入

She was born in 1990-01-02  and  from Beijing city.
样例输出

3,3,4,2,10,3,4,7,5
数据范围与提示 分类标签

[字符串] [字符数组]

C++题解代码

#include <bits/stdc++.h>
using namespace std;

string a;
int b;
bool c;


// The main procedure
int main() {
  getline(cin, a);
  b = 0;
  c = true;
  for (int i = 0; i < a.size(); i++) {
    if (a[i] == ' ') {
      if (b > 0) {
        if (c) {
          c = false;
        } else {
          cout<<",";
        }
        cout<<b;
      }
      b = 0;
    } else {
      b++;
    }
  }
  if (b > 0) {
    if (c) {
      c = false;
    } else {
      cout<<",";
    }
    cout<<b;
  }
  return 0;
}

Blockly题解代码图片