大小写逆转 题目描述 把一行字符串中的大写字母变成小写,把小写字母变成大写,非英文字母保持不变 输入 第一行输入T表示有T个测试实例 第二行起,每行输入一串字符,输入T行 输出 输出转换后的结果 字符串)
时间: 2025-02-05 19:15:35 浏览: 35
要实现一个程序来将输入的字符串中的大写字母转换为小写字母,小写字母转换为大写字母,非英文字母保持不变,我们可以按照以下步骤进行:
1. 读取输入的测试实例数量 `T`。
2. 对于每一个测试实例,读取一行字符串。
3. 遍历字符串中的每一个字符,检查其是否为大写字母或小写字母。
4. 根据字符的类型进行转换。
5. 输出转换后的字符串。
以下是实现上述功能的C语言代码:
```c
#include <stdio.h>
#include <ctype.h>
void toggleCase(char *str) {
while (*str) {
if (isupper(*str)) {
*str = tolower(*str);
} else if (islower(*str)) {
*str = toupper(*str);
}
str++;
}
}
int main() {
int T;
char str[1000];
// 读取测试实例数量
scanf("%d", &T);
// 读取并处理每一行输入
while (T--) {
scanf("%s", str);
toggleCase(str);
printf("%s\n", str);
}
return 0;
}
```
### 代码解释
1. **头文件包含**:
- `stdio.h`: 用于输入输出函数。
- `ctype.h`: 用于字符处理函数,如 `isupper`, `tolower`, `islower`, `toupper`。
2. **函数 `toggleCase`**:
- 该函数接受一个字符串作为参数。
- 使用 `while` 循环遍历字符串中的每一个字符。
- 使用 `isupper` 检查字符是否为大写字母,如果是,则使用 `tolower` 将其转换为小写。
- 使用 `islower` 检查字符是否为小写字母,如果是,则使用 `toupper` 将其转换为大写。
- 非英文字母字符保持不变。
3. **主函数 `main`**:
- 声明变量 `T` 和字符串 `str`。
- 读取测试实例数量 `T`。
- 使用 `while` 循环处理每一个测试实例。
- 读取字符串并调用 `toggleCase` 函数进行转换。
- 输出转换后的字符串。
阅读全文
相关推荐


















