编写函数void fun(char str[D),其功能是:将字行串中的小写字母转换为对应的大写宇母,其它字符不变。 主函数中定义包含100个元素的字符数组,输入字符数组,并调用fun西数将字符串中的小马字母转换为对应的大写字母,其它字符不变,在主函数中输出转换后的字符数组。
时间: 2024-03-08 16:48:17 浏览: 18
下面是一个实现题目要求的示例代码:
```c
#include <stdio.h>
#include <ctype.h>
void fun(char str[]) {
int i = 0;
while (str[i] != '\0') {
if (islower(str[i])) {
str[i] = toupper(str[i]);
}
i++;
}
}
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, 100, stdin); // 使用fgets读取输入的字符串
fun(str);
printf("转换后的字符串为:%s", str);
return 0;
}
```
在这个程序中,我们使用了头文件`<ctype.h>`中的函数`islower()`和`toupper()`,前者用于判断字符是否为小写字母,后者用于将字符转换为大写字母。在`fun`函数中,我们遍历字符串中的每个字符,如果该字符是小写字母,则将其转换为大写字母。在主函数中,我们使用`fgets()`函数读取用户输入的字符串,并调用`fun()`函数进行转换,最后输出转换后的字符串。
相关问题
用c语言编写一个函数fun,对字符进行判断,将大写字母转换成小写字母
好的,我会为您解答。请参考以下代码:
```c
#include <stdio.h>
void fun(char *str) {
int i = 0;
while (str[i]) {
if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] = str[i] + 32;
}
i++;
}
}
int main() {
char str[] = "HELLO WORLD";
fun(str);
printf("%s\n", str);
return 0;
}
```
以上代码中,函数 `fun` 接收一个 `char` 类型的指针参数 `str`,循环遍历这个字符串中的所有字符。如果遇到大写字母,则将 ASCII 码值增加 32 后,将其转换为相应的小写字母。最后,在主函数中打印转换后的字符串。
希望这个代码对您有帮助。如果您还有其他问题,请随时问我。
编写一个函数fun,从键盘上输入一个字符串,放在数组中,要求将字符串中的大写字母转换成小写字母,小写字母转换成大写字母,非字母字符不变,并输出。
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void fun(char str[]) {
int i, len;
len = strlen(str);
for (i = 0; i < len; i++) {
if (islower(str[i])) {
str[i] = toupper(str[i]);
} else if (isupper(str[i])) {
str[i] = tolower(str[i]);
}
}
printf("转换后的字符串为:%s\n", str);
}
int main() {
char str[100];
printf("请输入一个字符串:\n");
scanf("%s", str);
fun(str);
return 0;
}
```
首先定义了一个函数 `fun`,传入参数为一个字符串数组。内部首先获取字符串的长度,然后通过循环遍历每一个字符,如果是小写字母,则调用 `toupper` 函数将其转换为大写字母,如果是大写字母,则调用 `tolower` 函数将其转换为小写字母。最后输出转换后的字符串。在主函数中,通过 `scanf` 函数从键盘上输入一个字符串,然后调用 `fun` 函数进行转换并输出结果。