2. 用C++编写一个从输入流中读取std::string的函数。如何在std::字符串中计算元音和辅音的数量?编写一个程序,要求输入一个字符串,并打印出该字符串的元音和辅音的数目。
时间: 2024-05-08 07:20:25 浏览: 67
下面是一个从输入流中读取std::string的函数的示例代码:
```c++
#include <iostream>
#include <string>
std::string readStringFromStream(std::istream& input) {
std::string str;
input >> str;
return str;
}
```
为了计算一个字符串中元音和辅音的数量,我们可以遍历字符串的每个字符,并检查它是否是元音或辅音。下面是一个计算元音和辅音数量的示例程序:
```c++
#include <iostream>
#include <string>
#include <algorithm>
int countVowels(const std::string& str) {
int count = 0;
for (char c : str) {
if (std::string("aeiouAEIOU").find(c) != std::string::npos) {
count++;
}
}
return count;
}
int countConsonants(const std::string& str) {
int count = 0;
for (char c : str) {
if (std::string("bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ").find(c) != std::string::npos) {
count++;
}
}
return count;
}
int main() {
std::string str;
std::cout << "Enter a string: ";
std::getline(std::cin, str);
int numVowels = countVowels(str);
int numConsonants = countConsonants(str);
std::cout << "Number of vowels: " << numVowels << std::endl;
std::cout << "Number of consonants: " << numConsonants << std::endl;
return 0;
}
```
此程序首先使用std::getline从std::cin中读取一个字符串,然后使用countVowels和countConsonants函数计算元音和辅音的数量,并将结果输出到标准输出流。
阅读全文