c语言中字符串str中的小写字母全部转换成大写字母,大写字母全部转换为小写字母,其它字符不变
时间: 2024-09-25 16:02:18 浏览: 49
在C语言中,你可以使用标准库函数`toupper()`和`tolower()`来进行大小写的转换。如果你有一个字符串`str`,首先需要遍历整个字符串。对于每个字符,检查它是否是字母(通过`isalpha()`函数),如果是字母,则分别使用`toupper()`或`tolower()`进行转换。下面是一个简单的示例:
```c
#include <ctype.h>
#include <string.h>
void swap_case(char *str) {
for (int i = 0; str[i] != '\0'; i++) { // 遍历直到字符串结束
if (isalpha(str[i])) { // 判断字符是否为字母
if (islower(str[i])) { // 如果是小写字母,转大写
str[i] = toupper(str[i]);
} else if (isupper(str[i])) { // 如果是大写字母,转小写
str[i] = tolower(str[i]);
}
}
}
}
```
然后你可以像这样调用这个函数:
```c
char string[] = "Hello, World!";
swap_case(string);
printf("%s", string); // 输出 "hELLO, wORLD!"
```
相关问题
c语言将字符串str中的小写字母改为对应的大写字母
在C语言中,可以使用标准库函数`toupper()`和`tolower()`来转换字符的大小写,但是这两个函数只对单个字符有效。如果你想要将整个字符串中的所有小写字母转换成大写字母,可以遍历字符串并逐个应用`toupper()`。以下是一个简单的示例:
```c
#include <ctype.h> // 包含 toupper 函数
#include <stdio.h>
#include <string.h>
void to_upper_case(char *str) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (islower(str[i])) { // 检查字符是否为小写字母
str[i] = toupper(str[i]); // 转换为大写
}
}
}
int main() {
char str[] = "Hello, World!";
to_upper_case(str);
printf("转换后的字符串: %s\n", str);
return 0;
}
```
在这个例子中,`to_upper_case`函数接收一个指向字符串的指针,并通过`for`循环检查每个字符。如果是小写字母,就使用`toupper()`将其转换为大写。
编写C语言程序:将字符串str中的小写字母全部转换成大写字母,大写字母全部转换成小写字母,其他字符不变
很高兴为您解答这个问题,请看下面的C语言代码:
```c
#include <stdio.h>
#include <ctype.h>
void convert(char *str) {
while(*str != '\0') {
if (islower(*str)) {
*str = toupper(*str);
} else if (isupper(*str)) {
*str = tolower(*str);
}
str++;
}
}
int main() {
char str[100];
printf("请输入字符串: ");
fgets(str, 100, stdin);
convert(str);
printf("转换后的字符串: %s", str);
return 0;
}
```
这个程序中,我们使用了ctype库中的islower、toupper、isupper和tolower函数。islower和isupper函数用于判断字符是否为小写字母和大写字母,而toupper和tolower函数用于将字符转换为大写字母和小写字母。
阅读全文