用string写1142:单词的长度
时间: 2024-03-23 14:43:32 浏览: 13
好的,这是用 C++ 的 string 类写的 1142 题的代码:
```c++
#include <iostream>
#include <unordered_map>
#include <string>
using namespace std;
int main() {
string str;
getline(cin, str); // 输入字符串
unordered_map<int, int> mp; // 用 unordered_map 存储不同长度的出现次数
int i = 0;
while (i < str.length()) {
int len = 0;
while (i < str.length() && str[i] != ' ') {
len++;
i++;
}
if (len != 0) {
mp[len]++;
}
i++;
}
for (auto it : mp) {
cout << it.first << ": " << it.second << endl; // 输出不同长度的出现次数
}
return 0;
}
```
这个程序通过 getline() 函数读入一行字符串,然后使用双指针的方法逐个读取单词,统计每个单词的长度,并将其出现次数存储在 unordered_map 中。最后遍历 unordered_map,输出不同长度的出现次数。