c语言中将字符串str1中的小写字母全部转换成大写字母,大写字母全部转换成小写字母,其他字符不变,生成一个新的字符串str2
时间: 2023-03-03 07:13:10 浏览: 173
可以使用C语言中的字符处理函数和循环语句来实现将字符串中的小写字母转换成大写字母,大写字母转换成小写字母的操作,生成一个新的字符串。
具体实现方法如下:
1. 定义两个字符数组变量str1和str2,其中str1为原始字符串,str2为转换后的字符串。
2. 使用for循环语句遍历str1中的每个字符,判断字符是否为小写字母或大写字母。
3. 如果字符为小写字母,则使用toupper()函数将其转换为大写字母,存储到str2中。
4. 如果字符为大写字母,则使用tolower()函数将其转换为小写字母,存储到str2中。
5. 如果字符既不是小写字母也不是大写字母,则将字符直接存储到str2中。
6. 遍历完str1中的所有字符后,再在str2的末尾添加一个字符串结束符'\0'。
7. 最终得到的str2就是转换后的新字符串。
以下是代码示例:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str1[] = "Hello, World!";
char str2[sizeof(str1)];
int i;
for (i = 0; str1[i] != '\0'; i++) {
if (islower(str1[i])) {
str2[i] = toupper(str1[i]);
} else if (isupper(str1[i])) {
str2[i] = tolower(str1[i]);
} else {
str2[i] = str1[i];
}
}
str2[i] = '\0'; // 添加字符串结束符
printf("原始字符串:%s\n转换后的字符串:%s\n", str1, str2);
return 0;
}
```
输出结果为:
```
原始字符串:Hello, World!
转换后的字符串:hELLO, wORLD!
```