【题目描述】 输入一行单词序列,相邻单词之间由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++代码
时间: 2023-06-27 14:06:43 浏览: 181
```cpp
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
getline(cin, s); // 读入整行字符串
int len = s.length();
int start = 0; // 当前单词的起始位置
for (int i = 0; i < len; i++) {
if (s[i] == ' ' || i == len - 1) { // 找到一个单词的结尾
int wordLen = i - start + 1;
if (i == len - 1 && s[i] != ' ') wordLen++; // 特判最后一个单词
cout << wordLen - 1 << ','; // 输出单词长度
start = i + 1; // 更新下一个单词的起始位置
}
}
return 0;
}
```
阅读全文