C语言自定义函数在主函数中输入一个字符串,调用函数将字符串中的大写字母改为小写字母后输出
时间: 2024-03-08 14:46:55 浏览: 127
好的,这是一个关于C语言函数的问题。可以使用字符数组和循环语句来实现。下面是代码示例:
```c
#include <stdio.h>
#include <ctype.h>
void toLower(char *str) {
int i = 0;
while (str[i]) {
str[i] = tolower(str[i]);
i++;
}
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
toLower(str);
printf("转换后的字符串为:%s\n", str);
return 0;
}
```
这个程序定义了一个 `toLower` 函数,它接受一个指向字符数组的指针作为参数。在函数内部,它遍历字符串并将其中的大写字母转换为小写字母。在主函数中,程序首先从用户处获取一个输入字符串,然后将其传递给 `toLower` 函数进行处理,并打印出转换后的字符串。
注意,这个程序只能处理英文字符。如果输入的字符串中包含非英文字符,程序可能会出现不可预知的行为。
相关问题
c语言编写自定义函数stringLower()实现将一个字符串中所有大写字母变为小写字母。在主函数中输入一含有大写字母的字符串,调用该函数并输出改变后的字符串。
下面是一个实现该功能的示例代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含tolower函数的头文件
void stringLower(char *str) {
while (*str) {
*str = tolower(*str); // 将当前字符转为小写字母
str++; // 移动指针到下一个字符
}
}
int main() {
char str[100];
printf("请输入含有大写字母的字符串:");
fgets(str, 100, stdin); // 从标准输入读入字符串
stringLower(str); // 调用自定义函数进行转换
printf("转换后的字符串为:%s\n", str); // 输出转换后的字符串
return 0;
}
```
该程序中,`stringLower`函数的参数为一个指向字符数组的指针,即字符串。函数中使用了一个`while`循环遍历字符串中的每一个字符,并调用`tolower`函数将其转为小写字母。
在`main`函数中,先读入一个含有大写字母的字符串,然后调用`stringLower`函数进行转换,最后输出转换后的字符串。需要注意的是,由于输入的字符串可能含有空格,因此使用了`fgets`函数来读入字符串,而不是`scanf`函数。
运用C语言,编写自定义函数stringLower()实现将一个字符串中所有大写字母变为小写字母。在主函数中输入一含有大写字母的字符串,调用该函数并输出改变后的字符串。
以下是实现代码:
```
#include <stdio.h>
#include <string.h>
void stringLower(char *str) {
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
str[i] = str[i] + ('a' - 'A');
}
}
}
int main() {
char str[100];
printf("请输入一个含有大写字母的字符串:");
scanf("%s", str);
stringLower(str);
printf("改变后的字符串为:%s\n", str);
return 0;
}
```
首先,自定义函数`stringLower()`接收一个字符串指针作为参数。在函数内部,我们使用`strlen()`函数获取字符串的长度,然后遍历字符串中的每个字符,如果该字符是大写字母,则将其转换为小写字母。最后,在主函数中,我们输入一个含有大写字母的字符串,调用`stringLower()`函数并输出改变后的字符串。
阅读全文