c语言本题要求编写程序,对一个以“#”结束的字符串,将其小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其他字符不变输出。 输入格式: 输入为一个以“#”结束的字符串(不超过30个字符)。 输出格式: 在一行中输出大小写转换后的结果字符串。 输入样例: Hello World! 123# 输出样例: hELLO wORLD! 123
时间: 2023-11-08 12:43:14 浏览: 91
c语言将字符串中的小写字母转换成大写字母
5星 · 资源好评率100%
你可以使用C语言的字符处理函数来实现这个要求。首先,你需要定义一个字符数组来存储输入的字符串,并读取用户输入。然后,你可以使用循环遍历数组中的每个字符,并使用条件语句来检查字符的大小写。
如果字符是小写字母,你可以使用内置函数`toupper()`将其转换为大写字母。如果字符是大写字母,你可以使用内置函数`tolower()`将其转换为小写字母。对于其他字符,你可以直接将其输出。
下面是一个示例代码,实现了上述要求:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[30];
int i = 0;
printf("请输入一个以\"#\"结束的字符串:");
scanf("%29[^\n]s", str); // 读取输入的字符串
// 将字符串中的字符进行大小写转换
while (str[i] != '#') {
if (islower(str[i])) {
str[i] = toupper(str[i]);
} else if (isupper(str[i])) {
str[i] = tolower(str[i]);
}
i++;
}
// 输出转换后的字符串
printf("%s\n", str);
return 0;
}
```
注意,这里使用了`scanf("%29[^\n]s", str);`来读取输入的字符串,其中`%29[^\n]s`表示最多读取29个非换行符的字符,并将其存储在`str`中。
编译并运行上述代码,然后输入示例中的输入样例,即可得到输出样例。
希望对你有所帮助!如有任何疑问,请随时提问。
阅读全文