用C++实现从键盘输入一行字符,以回车结束。若为小写字母,则转换为对应的大写字母;若为大写字母,则转换为对应的小写字母;其他字符保持不变。
时间: 2024-05-11 09:15:45 浏览: 86
可以使用以下代码实现:
```
#include <stdio.h>
int main() {
char c;
printf("请输入一行字符:");
// 循环获取输入的每个字符
while ((c = getchar()) != '\n') {
// 判断如果是小写字母,转换为大写字母
if ('a' <= c && c <= 'z') {
c -= 32;
}
// 判断如果是大写字母,转换为小写字母
else if ('A' <= c && c <= 'Z') {
c += 32;
}
// 打印字符
printf("%c", c);
}
printf("\n");
return 0;
}
```
相关问题
用c++编写程序实现从键盘输入一个字符时,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,则原样输出。
以下是实现该功能的 C 代码:
```
#include <stdio.h>
int main() {
char c;
printf("请输入一个字符:");
scanf("%c", &c);
if (c >= 'a' && c <= 'z') {
c = c - 'a' + 'A';
} else if (c >= 'A' && c <= 'Z') {
c = c - 'A' + 'a';
}
printf("转换后的字符为:%c\n", c);
return 0;
}
```
当用户输入一个小写字母时,程序会将其转换为大写字母输出;当用户输入一个大写字母时,程序会将其转换为小写字母输出;当用户输入其他字符时,程序会原样输出。
从键盘输入一行字符,若为小写字母,则转化为大写字母;若为大写字母,则转化为小写字母;否则转化为ASCII表中的下一个字符。c++
在 C++ 中,你可以使用 `std::ctype` 和 `std::tolower` 或 `std::toupper` 函数结合 `std::codecvt_utf8` 类来实现这个功能。这里是一个简单的示例:
```cpp
#include <iostream>
#include <locale>
#include <codecvt>
int main() {
std::string input;
std::cout << "请输入一行字符: ";
getline(std::cin, input);
// 创建一个本地化对象,包含转换规则
std::locale loc("en_US.UTF-8");
for (char& c : input) {
if (std::isalpha(c)) { // 检查是否为字母
if (std::islower(c)) {
c = static_cast<char>(std::toupper(c)); // 转换为大写
} else {
c = static_cast<char>(std::tolower(c)); // 转换为小写
}
} else {
// 如果不是字母,转到ASCII表中的下一个字符
++c; // 对于非字母字符,直接加1相当于ASCII码+1
}
}
std::cout << "转化后的字符串: " << input << std::endl;
return 0;
}
```
在这个程序中,我们首先获取用户输入,然后遍历每个字符,如果它是字母就根据其当前状态进行大小写的转换,如果不是则移动到下一个ASCII值。
阅读全文