用C语言编写以下程序输入一个字符串,将其大小写反转后再重新输出
时间: 2024-12-30 17:41:03 浏览: 7
在C语言中,我们可以编写一个简单的程序来完成这个任务。首先,我们需要读入一个字符串,然后将字符串逐个字符处理,交换大写字母和小写字母的位置。最后再输出结果。以下是详细的步骤和代码:
```c
#include <stdio.h>
#include <ctype.h> // 引入ctype.h库,用于获取字符的ASCII码和判断是否为字母
void reverse_case(char* str) {
int len = strlen(str); // 获取字符串长度
for(int i = 0; i < len / 2; i++) {
// 如果是大写字母,则转换为小写并交换位置
if(isupper(str[i])) {
str[i] = tolower(str[i]);
// 对应的小写字母索引减去len是因为数组是从后向前遍历的
str[len - 1 - i] = toupper(str[len - 1 - i]);
}
// 如果是小写字母,则不需要改变,直接跳过
else if(islower(str[i])) {
continue;
}
}
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // fgets用于包含换行符的输入
// 移除fgets读取的末尾换行符
input[strcspn(input, "\n")] = '\0';
reverse_case(input);
printf("反转大小写后的字符串: %s\n", input);
return 0;
}
```
在这个程序中,我们使用了`isupper`和`islower`函数检测字符是否为大写字母或小写字母,`tolower`和`toupper`函数则用于转换它们。
阅读全文