用c语言如何将文本中的大写字母转换为小写,小写字母转换为大写,而保持其他字符不变?
时间: 2024-11-20 20:41:40 浏览: 16
将一字符串中的小写英文字母改成大写。-c语言习题
在C语言中,处理字符串大小写通常涉及到ASCII码的使用。你可以通过ASCII码表知道大写字母和小写字母之间的差值,然后遍历字符串逐个字符进行转换。以下是一个简单的示例,展示了如何将输入字符串中的大写字母转为小写,小写字母转为大写:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的库函数
void swap_case(char *str) {
while (*str) { // 遍历字符串中的每个字符
if (isupper(*str)) { // 如果是大写字母
*str = tolower(*str); // 转换为小写
} else if (islower(*str)) { // 如果是小写字母
*str = toupper(*str); // 转换为大写
}
str++; // 移动到下一个字符
}
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin);
input[strcspn(input, "\n")] = '\0'; // 去除fgets获取的换行符
swap_case(input);
printf("转换后的字符串: %s\n", input);
return 0;
}
```
在这个程序中,`isupper()`用于判断字符是否为大写字母,`tolower()`将大写字母转换为小写;反之,`islower()`判断小写字母,`toupper()`将其转换为大写。
阅读全文