定义一个字符数组 char c_str[20], 利用scanf在输入其内容,包含大小写字母和数组,利用指针,将其中的大写变小写,小写变大写,数字不动,然后利用printf输出。
时间: 2024-12-15 20:26:36 浏览: 16
第21章、字符数组和字符指针(理论课).ppt
首先,你需要使用`scanf`函数从用户那里读取字符数组的内容,然后遍历该数组,对其中的大写字母转为小写,小写字母转为大写,而数字保持不变。这里是一个简单的示例:
```c
#include <stdio.h>
#include <ctype.h> // 引入ctype头文件,用于处理字符类型的转换
#define MAX_LEN 20 // 设置最大字符数
void swap_case(char *str) {
while (*str != '\0') { // 遍历直到遇到结尾符
if (isupper(*str)) { // 如果是大写字母
*str = tolower(*str); // 转换为小写
} else if (islower(*str)) { // 如果是小写字母
*str = toupper(*str); // 转换为大写
}
str++; // 移动到下一个字符
}
}
int main() {
char c_str[MAX_LEN];
printf("请输入不超过20个字符的字符串: ");
scanf("%s", c_str); // 读取用户输入
swap_case(c_str); // 转换字母的大小写
printf("处理后的字符串: %s\n", c_str); // 输出结果
return 0;
}
```
在这个例子中,`swap_case`函数接收一个指向字符数组的指针,并通过`isupper`和`islower`检查每个字符是否为大写或小写,再使用`toupper`和`tolower`进行相应的转换。
阅读全文