7.定义一个有80个元素的字符数组,从键盘输入一串字符,将其中的大写字母转换为小写字母,而将原来为小写的字母转换为大写字母,其他字符不变。C语言
时间: 2024-05-27 18:13:32 浏览: 103
代码实现如下:
#include <stdio.h>
int main() {
char str[80];
int i = 0;
printf("请输入一串字符:\n");
// 从键盘输入一串字符,存放到字符数组 str 中
fgets(str, 80, stdin);
// 循环遍历字符数组中的每一个字符
while (str[i] != '\0') {
// 如果是大写字母,将其转换为小写字母
if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] += 32; // 'A' - 'a' = 32
}
// 如果是小写字母,将其转换为大写字母
else if (str[i] >= 'a' && str[i] <= 'z') {
str[i] -= 32; // 'a' - 'A' = 32
}
i++; // 访问下一个字符
}
// 输出转换后的结果
printf("转换后的字符串为:%s", str);
return 0;
}
希望能够回答您的问题。
相关问题
7. 定义一个有80个元素的字符数组,从键盘输入一串字符,将其中的大写字母转换为小写字母,而将原来为小写的字母转换为大写字母,其他字符不变。用c语言编写
回答:
下面是代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[80];
int i;
printf("请输入一串字符:\n");
fgets(str, 80, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (isupper(str[i]))
str[i] = tolower(str[i]);
else if (islower(str[i]))
str[i] = toupper(str[i]);
}
printf("转换后的字符串为:%s", str);
return 0;
}
```
首先定义了一个长度为80的字符数组str,用于存放从键盘输入的字符串。然后使用fgets函数从标准输入(即键盘)读入一行字符串,存放到str中。
接下来用循环遍历每一个字符,使用isupper函数判断当前字符是否为大写字母,如果是则用tolower函数转换为小写字母;使用islower函数判断当前字符是否为小写字母,如果是则用toupper函数转换为大写字母;如果既不是大写字母也不是小写字母,则不做处理。
最后输出转换后的字符串。
2. 定义一个有80个元素的字符数组,从键盘输入一串字符,将其中的大写字母转换为小写字母,而将原来为小写的字母转换为大写字母,其他字符不变。
可以使用以下代码实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char arr[80];
printf("请输入一串字符:\n");
scanf("%s", arr); // 读取输入字符串
for(int i=0; i<80 && arr[i]!='\0'; i++) {
if(isupper(arr[i])) { // 判断是否为大写字母
arr[i] = tolower(arr[i]); // 转换为小写字母
}
else if(islower(arr[i])) { // 判断是否为小写字母
arr[i] = toupper(arr[i]); // 转换为大写字母
}
}
printf("转换后的字符串为:%s\n", arr);
return 0;
}
```
阅读全文