用C++编写一个程序,读取一行字符串并统计其中每个单词的长度,然后输出每个单词及其对应的长度。
时间: 2024-09-27 19:17:04 浏览: 27
在C++中,你可以通过标准库函数`std::getline`来读取一行字符串,并使用`std::istringstream`将字符串分割成单词,接着遍历这些单词计算它们的长度。下面是一个简单的示例程序:
```cpp
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::string input;
std::cout << "请输入一行字符串: ";
getline(std::cin, input); // 从标准输入读取一行
std::istringstream iss(input);
std::string word; // 存储当前单词
while (iss >> word) { // 分割单词到word
size_t length = word.length(); // 计算单词长度
std::cout << "单词 \"" << word << "\" 的长度是: " << length << "\n"; // 输出结果
}
return 0;
}
```
在这个程序中,我们首先获取用户输入的一行字符串,然后通过`istringstream`逐个提取出单词,并计算其长度。遇到空格或者其他分隔符时,`iss >> word`会停止读取。
相关问题
用c++编写一个程序读取一个字符串并统计其中每个单词的长度然后输出每个单词及其对应的长度。
在C++中,你可以使用`cin`从用户那里获取输入,`istringstream`将输入分割成单词,然后遍历这些单词计算它们的长度。下面是一个简单的示例程序:
```cpp
#include <iostream>
#include <sstream>
#include <string>
int main() {
std::string input;
std::cout << "请输入一个字符串: ";
getline(std::cin, input); // 使用getline读入一行,包括空格
std::istringstream iss(input);
std::string word;
while (iss >> word) { // 逐词分割
int length = word.length();
std::cout << "单词: " << word << ", 长度: " << length << std::endl;
}
return 0;
}
```
在这个程序中,我们首先提示用户输入一个字符串,然后通过`getline`函数一次读入一行文本,而不是遇到空格就停止。接下来,我们将这个输入流传递给`istringstream`,它会按空格分隔字符串。对于每一行中的每一个单词,我们都会计算其长度,并输出。
C++编写程序输入一个字符串,统计其中字符A的数量并且输出。
在C++中,你可以使用标准库函数`std::cin`来获取用户输入的字符串,并使用`std::count`函数来计算字符'A'出现的次数。下面是一个简单的示例程序:
```cpp
#include <iostream>
#include <string>
int main() {
std::string input;
std::cout << "请输入一个字符串: ";
std::getline(std::cin, input); // 使用getline处理包括空格在内的整个行
// 统计字符 'A' 的数量
int count = std::count(input.begin(), input.end(), 'A');
std::cout << "字符串中字符'A'的数量是: " << count << std::endl;
return 0;
}
```
在这个程序中,我们首先包含必要的头文件`<iostream>`和`<string>`,然后在`main`函数里,通过`std::getline`从标准输入读取一行字符串。接着使用`std::count`遍历这个字符串并计算字符'A'的出现次数。最后,输出结果。