用c++输⼊⼀个字符串,将字符串中⼤写字⺟全部转为⼩写字⺟,⼩写字⺟转成⼤写字⺟,其他字符保持不 变。注:字符串的⻓度⼩于等于30,其中字符串中包含空格
时间: 2024-10-12 20:08:02 浏览: 17
c语言将字符串中的小写字母转换成大写字母
5星 · 资源好评率100%
在C++中,你可以使用标准库中的`std::transform`函数配合`std:: toupper`和`std::tolower`来进行这个转换。这里是一个简单的示例程序:
```cpp
#include <iostream>
#include <algorithm>
#include <cctype> // 包含转换函数
void swap_case(std::string &str) {
std::transform(str.begin(), str.end(), str.begin(), ::tolower); // 转换小写
for (char& c : str) {
if (isalpha(c)) { // 检查是否为字母
if (islower(c)) {
c = toupper(c); // 如果是小写转大写
}
}
}
}
int main() {
std::string input;
std::cout << "请输入一个字符串(长度小于等于30,包含空格):";
getline(std::cin, input); // 读入整个行,包括空格
if (input.length() > 30) {
std::cerr << "输入过长,已截断到30个字符。\n";
input.resize(30);
}
swap_case(input);
std::cout << "转换后的字符串是:" << input << "\n";
return 0;
}
```
在这个程序中,我们首先读取用户输入的字符串,然后使用`std::transform`和`::tolower`把所有字符都变为小写。接着遍历字符串,对每个字母判断其大小写并进行相应的转换。
请注意,由于限制了字符串长度为30,如果输入超过这个长度,程序会截断超出的部分并发出警告。
阅读全文