过滤字符串只保留串中的字母字符 (10 分)请编写一个函数fun,函数的功能是:输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。

请编写一个函数fun,函数的功能是:输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。

函数接口定义:

 
int fun(char *ptr);

其中 ptr 是用户传入的参数。函数的功能是:输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数返回。

裁判测试程序样例:

 
#include <stdio.h>
int fun(char *ptr);
int main()
{
 char str[80];
 int s;
 gets(str);
 s=fun(str);
 printf("The new string is :");puts(str);
 printf("There are %d char in the new string.",s);
 return 0;
 }

/* 请在这里填写答案 */

输入样例:

hjds34jj

输出样例:

The new string is :hjdsjj
#include<string.h>
int fun(char* ptr)
{
	int number = 0;
	int n = 0, i;
	for (i = 0; ptr[i]; i++)
		if (ptr[i] >= 'a' && ptr[i] <= 'z')
			ptr[n++] = ptr[i];
	ptr[n] = '\0';
	return strlen (ptr);
}

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是一个符合您要求的 Python 函数示例: ```python def filter_letters(input_string): """ 这个函数过滤输入字符串,只保留字母字符,并返回过滤后的字符串。 参数: input_string:要过滤字符串。 返回值: 一个字符串,其包含输入字符串字母字符。 """ # 创建一个字符串,用于存储过滤后的结果。 filtered_string = "" # 遍历输入字符串的每个字符。 for char in input_string: # 如果当前字符一个字母,则将其添加到过滤后的字符串。 if char.isalpha(): filtered_string += char # 返回过滤后的字符串。 return filtered_string ``` 这个函数名为 `filter_letters`,它接收一个参数 `input_string`,这个参数表示要过滤字符串函数功能是只保留输入字符串字母字符过滤掉其的其他字符,最终返回过滤后的字符串函数的实现很简单,它遍历输入字符串的每个字符,如果当前字符一个字母,则将其添加到一个新的字符串。最后,返回这个新的字符串,其包含输入字符串字母字符。 ### 回答2: 题目要求编写一个函数,实现的功能是将输入的字符串字母字符提取出来,其它字符过滤掉。下面是函数实现的代码: ```python def fun(s): res = '' # 遍历字符串s的每一个字符 for ch in s: # 判断字符是否是字母 if ch.isalpha(): # 如果是字母,拼接到结果字符串res res += ch return res ``` 解释: 1. 遍历字符串s的每一个字符。 2. 使用字符串的isalpha()方法,判断字符是否是字母,如果是,拼接到结果字符串res。 3. 最后返回结果res。 测试: ```python s = "Hello, World! 123." print(fun(s)) # HelloWorld ``` 该函数的时间复杂度为$O(n)$,其$n$为原字符串的长度。 ### 回答3: 在编写这个函数之前,需要先了解一下什么是字母字符。在计算机字母字符指的是大小写字母和其他符号,但不包括数字和空格等其他字符。因此,在编写这个函数时,需要使用一些判断条件,来判断每个字符是否为字母字符。 下面是一个简单的函数fun,可以实现输入一个字符串过滤此串,只保留串中字母字符: ``` def fun(s): # 定义一个字符串,用于存储过滤后的字母字符 new_s = "" # 遍历输入字符串s的每个字符 for i in s: # 判断字符是否为字母字符(即判断是否为大小写字母或其他符号) if i.isalpha(): # 如果是字母字符,则将其添加到新字符串new_s new_s += i # 返回过滤后的字符串new_s return new_s ``` 该函数先定义了一个字符串new_s,用于存储过滤后的字母字符。然后通过遍历输入字符串s的每个字符,并判断是否为字母字符的方式,将其添加到新字符串new_s。最后返回过滤后的字符串new_s即可。 需要注意的是,在判断字符是否为字母字符时,可以使用字符串的isalpha()方法。此方法返回值为True或False,表示当前字符是否为字母字符。此外,还可以使用ASCII码值来判断字符是否为字母字符。具体可以参考下面的代码: ``` def fun(s): new_s = "" for i in s: # 判断字符是否为字母字符(即判断ASCII码值是否在a~z或A~Z之间) if ord(i)>=65 and ord(i)<=90 or ord(i)>=97 and ord(i)<=122: new_s += i return new_s ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值