请使用C语言编写一个函数fun,函数的功能是:输入一个字符串,过滤此串,只保留串中的字母字符。
时间: 2024-03-23 14:38:16 浏览: 22
好的,以下是使用C语言编写的函数fun的代码:
```c
#include <stdio.h>
#include <ctype.h> // 头文件中包含了isalpha函数
void fun(char *str) {
int i, j;
for (i = 0, j = 0; str[i]; i++) {
if (isalpha(str[i])) { // 判断是否是字母字符
str[j++] = str[i];
}
}
str[j] = '\0'; // 字符串末尾添加空字符
}
int main() {
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin); // 从标准输入读取字符串
fun(str); // 调用函数fun
printf("过滤后的字符串为:%s\n", str);
return 0;
}
```
使用示例:
输入:Hello, world!
输出:过滤后的字符串为:Helloworld
相关问题
C语言编写一个函数fun(char* s),该函数的功能是把字符串中的内容逆置
你可以使用指针来实现字符串的内容逆置。以下是一个用C语言编写的函数`fun`的示例代码:
```c
#include <stdio.h>
#include <string.h>
void fun(char* s) {
int length = strlen(s);
char* start = s;
char* end = s + length - 1;
while (start < end) {
char temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
printf("原始字符串:%s\n", str);
fun(str);
printf("逆置后的字符串:%s\n", str);
return 0;
}
```
在这个示例中,函数`fun`接受一个字符指针`s`作为参数,代表要逆置的字符串。首先,使用`strlen`函数获取字符串的长度。然后,使用两个指针`start`和`end`分别指向字符串的首尾字符。通过交换`start`和`end`指向的字符,并且让`start`指针向后移动,`end`指针向前移动,直到`start`指针不再小于`end`指针为止,完成字符串内容的逆置。
在`main`函数中,我们定义了一个字符串`str`,并将其作为参数传递给函数`fun`进行逆置。最后,打印逆置后的字符串结果。
运行上述代码,输出结果如下:
```
原始字符串:Hello, World!
逆置后的字符串:!dlroW ,olleH
```
希望能帮助到你!如有任何疑问,请随时提问。
c语言请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回
下面是一个简单的 C 语言函数 fun,用于统计字符串中的数字字符个数:
```c
int fun(char *s) {
int count = 0;
while (*s != '\0') {
if (*s >= '0' && *s <= '9') {
count++;
}
s++;
}
return count;
}
```
该函数通过遍历字符串中的每个字符,判断是否为数字字符,如果是,则计数器加一。最后返回计数器的值。