写一个c++代码不用库函数,可以实现大小写的转换,不是英文字母则输出no
时间: 2024-12-02 18:27:47 浏览: 12
在C++中,如果你想要实现基本的大写转小写以及小写转大写的转换,并且不依赖库函数如`toupper`和`tolower`,你可以通过ASCII码值来进行手动转换。以下是两个自定义函数的例子:
```cpp
#include <iostream>
char toUpperCase(char c) {
if ('a' <= c && c <= 'z') { // 小写字母范围
return static_cast<char>(c - 'a' + 'A');
} else {
return c; // 非字母字符不变
}
}
char toLowerCase(char c) {
if ('A' <= c && c <= 'Z') { // 大写字母范围
return static_cast<char>(c - 'A' + 'a');
} else {
return c; // 非字母字符不变
}
}
int main() {
std::string input;
std::cout << "请输入字符串: ";
std::getline(std::cin, input);
for (char& ch : input) {
ch = toUpperCase(ch); // 转换为大写
std::cout << ch;
}
std::cout << "\n";
std::cout << "大写转小写后的结果: ";
for (char& ch : input) {
ch = toLowerCase(ch); // 转换为小写
std::cout << ch;
}
return 0;
}
```
在这个代码中,`toUpperCase`函数将小写字母转换为大写,非字母字符保持原样;`toLowerCase`函数相反。注意这个实现只适用于ASCII字符集。
阅读全文