C语言要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。 输入 输入为一个以“#”结束的字符串(不超过30个字符)。 输出 在一行中输出大小写转换后的结果字符串。 样例输入 复制 Hello World! 123# 样例输出 复制 hELLO wORLD! 123 语言: C 验证码: 刷新验证码
时间: 2023-06-24 07:04:13 浏览: 118
下面是 C 语言的程序代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[31];
fgets(str, 31, stdin); // 读入字符串
for (int i = 0; str[i] != '#'; i++) {
if (islower(str[i])) { // 如果是小写字母
printf("%c", toupper(str[i])); // 转换成大写字母并输出
} else if (isupper(str[i])) { // 如果是大写字母
printf("%c", tolower(str[i])); // 转换成小写字母并输出
} else { // 其他字符不变
printf("%c", str[i]);
}
}
return 0;
}
```
程序中使用 `fgets()` 函数读入字符串,`islower()` 函数判断是否为小写字母,`toupper()` 函数将小写字母转换成大写字母,`isupper()` 函数判断是否为大写字母,`tolower()` 函数将大写字母转换成小写字母。最后根据题目要求输出大小写转换后的字符串。
相关问题
对一个以#结束的字符串将其小写字母全部转换成大写字母 把大写字母全部转换成小写字母 其他字符不变输出C语言
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <ctype.h> // 包含 toupper 和 tolower 函数
int main() {
char str[1000];
int i = 0;
char c = getchar(); // 逐个读入字符
while (c != '#') {
str[i++] = c; // 存入字符串中
c = getchar();
}
str[i] = '\0'; // 字符串结尾
for (int j = 0; str[j] != '\0'; j++) {
if (islower(str[j])) { // 如果是小写字母
putchar(toupper(str[j])); // 转换成大写字母输出
} else if (isupper(str[j])) { // 如果是大写字母
putchar(tolower(str[j])); // 转换成小写字母输出
} else {
putchar(str[j]); // 其他字符不变输出
}
}
return 0;
}
```
以上代码会逐个读入字符,存入字符数组中形成字符串。然后遍历字符串中的每个字符,如果是小写字母则转换成大写字母输出,如果是大写字母则转换成小写字母输出,其他字符不变输出。最后输出结果。
C语言编写:对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。
以下是使用 C 语言编写的代码实现:
```c
#include <stdio.h>
int main() {
char str[100]; // 定义一个字符数组
int i = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin); // 从标准输入读取字符串,最多读取 100 个字符
while (str[i] != '#') { // 当字符不是“#”时,进行转换
if (str[i] >= 'a' && str[i] <= 'z') { // 如果是小写字母,转换成大写字母
str[i] -= 32;
} else if (str[i] >= 'A' && str[i] <= 'Z') { // 如果是大写字母,转换成小写字母
str[i] += 32;
}
i++;
}
printf("转换后的字符串为:%s", str); // 输出转换后的字符串
return 0;
}
```
运行程序后,输入一个以“#”结束的字符串,程序会将其中的小写字母转换成大写字母,大写字母转换成小写字母,其他字符不变输出。
阅读全文