Cpp输入一句英语,将元音字母大写,其他字母小写,输入串中用空格分隔单词
时间: 2024-09-10 18:19:17 浏览: 62
1138:将字符串中的小写字母转换成大写字母.cpp
要实现这个功能,我们需要编写一个程序,该程序可以读取一句英语,然后将每个单词的元音字母转换为大写,而将其他字母转换为小写。同时,需要确保单词之间用空格分隔。下面是一个简单的C++程序实现示例:
```cpp
#include <iostream>
#include <sstream>
#include <cctype>
std::string CapitalizeVowels(std::string word) {
std::string vowels = "aeiou";
for (char &c : word) {
if (vowels.find(std::tolower(c)) != std::string::npos) {
c = std::toupper(c);
} else {
c = std::tolower(c);
}
}
return word;
}
int main() {
std::string input;
std::getline(std::cin, input); // 读取一整行输入
std::istringstream iss(input); // 使用istringstream分割单词
std::string word;
bool firstWord = true;
while (iss >> word) { // 遍历输入的每个单词
word = CapitalizeVowels(word); // 转换元音字母大小写
if (!firstWord) {
std::cout << " "; // 在单词间添加空格
}
std::cout << word;
firstWord = false;
}
std::cout << std::endl; // 输出换行
return 0;
}
```
这个程序首先定义了一个`CapitalizeVowels`函数,用于将单词中的元音字母转换为大写,其他字母转换为小写。`main`函数中读取用户输入的字符串,并使用`istringstream`来分割单词。对于每个单词,调用`CapitalizeVowels`函数处理,然后输出到控制台,并在单词之间添加空格。
阅读全文