输入一行字符,分别统计出其中英文字母,空格,数字和其他字符数。

输入一行字符,分别统计出其中英文字母,空格,数字和其他字符数。
#include<stdio.h>
int main()
{
	int x=0,y=0,c=0,e=0;char m[100];
	printf("please entry the str");
	
 	 gets(m);	
	 char *p=m; 
	 while(*p++)
	 {
	 	//比较空格数 
	 	if(*p==' ')
	 	{
	 		x+=1;	
		 }
		 //字母数 
		 else if(('A'<=*p&&*p<='Z')||('a'<=*p&&*p<='z'))
		 {
		 	printf("%c",*p); 
		 	y+=1;
		 }
		 //数字数 
		  else if(48<=*p&&*p<=57)
		 {
		 	e+=1;
		 }
		 //其他字符 
		 else if(*p==0) 
		 {
			c+=1;
			
		 }
		 		 //	x+=1;
		//printf("..%d\n",x);for tesk;
	 }
	 printf(">>空格%d\n",x)	;
	
	printf("%>>字母%d\n",y);	
	printf(">>数字%d\n",e);
	printf(">>其他%d\n",c-1);//减掉/0 
	return 0;
 } 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python语言来实现这个功能,代码如下: ```python # 输入一行字符,以'#'作为结束标志 s = input("请输入一行字符,以'#'作为结束标志:") # 统计英文字母空格数字和其他字符的个 letter_count = space_count = digit_count = other_count = for c in s: if c.isalpha(): # 判断是否为英文字母 letter_count += 1 elif c.isspace(): # 判断是否为空格 space_count += 1 elif c.isdigit(): # 判断是否为数字 digit_count += 1 else: other_count += 1 # 输结果 print("英文字母:", letter_count) print("空格:", space_count) print("数字:", digit_count) print("其他字符:", other_count) ``` 运行结果示例: ``` 请输入一行字符,以'#'作为结束标志:Hello World! 123# 英文字母: 10 空格: 2 数字: 3 其他字符: 1 ``` ### 回答2: '(回车)结束,统计其中英文字母数字空格和其他字符的个,并输统计结果。 这道题可以通过使用isdigit()、isalpha()、isspace()函来判断字符的类型,使用while循环读取输入的字符,并统计不同类型字符的个。具体步骤如下: 1. 定义变量count_digit、count_alpha、count_space、count_other分别用来统计数字、字母、空格和其他字符的个,初始化为0。 2. 使用while循环读取输入的字符,如果字符数字,则count_digit加1,如果是字母,则count_alpha加1,如果是空格,则count_space加1,否则则是其他字符,count_other加1。 3. 循环结束后,输统计结果,分别输数字、字母、空格和其他字符的个。 下面是代码实现: ```python count_digit = 0 count_alpha = 0 count_space = 0 count_other = 0 # 读取输入的字符 s = input() # 循环遍历每个字符 for c in s: if c.isdigit(): count_digit += 1 elif c.isalpha(): count_alpha += 1 elif c.isspace(): count_space += 1 else: count_other += 1 # 输统计结果 print('数字: %d' % count_digit) print('字母: %d' % count_alpha) print('空格: %d' % count_space) print('其他: %d' % count_other) ``` 例如,如果输入字符串为"Hello 123 World!",则输: ``` 数字: 3 字母: 10 空格: 2 其他: 1 ``` 这样就完成了字符统计的任务。 ### 回答3: '结尾,进行以下处理: 1. 统计行中英文字母空格数字和其他字符的个,并输统计结果。 2. 删除行中的所有数字,再输修改后的字符串。 3. 将行中所有的空格替换成'@',再输修改后的字符串。 4. 将行中所有的大写字母转换成小写字母,并输修改后的字符串。 5. 将行中所有的小写字母转换成大写字母,并输修改后的字符串。 本题需要使用Python语言进行编写。 首先,我们需要思考如何读入输入的一行字符。可以使用Python中的input()函来实现: input_str = input() #读入一行字符 接下来,对于第一步,我们需要统计英文字母空格数字和其他字符的个。我们可以定义四个变量,用来累加计,分别表示字符空格数字和其他字符的个。然后遍历字符串中的每一个字符,判断其是何种类型的字符,从而将对应的变量加一即可。代码如下: char_count = 0 # 字符 space_count = 0 # 空格 digit_count = 0 # 数字 other_count = 0 # 其他字符 for c in input_str: if c.isalpha(): char_count += 1 elif c.isspace(): space_count += 1 elif c.isdigit(): digit_count += 1 else: other_count += 1 print("字符:", char_count) print("空格:", space_count) print("数字:", digit_count) print("其他字符:", other_count) 对于第二步,我们需要先将字符串中的数字删除,可以使用Python中的isdigit()函判断字符是否为数字,然后再使用Python中的replace()函字符替换为空白字符串''即可。代码如下: no_digit = input_str.replace('', '').replace('\t', '').replace('\n', '') # 删除数字 print("删除数字后的结果为:", no_digit) 对于第三步,我们需要将字符串中的空格替换成'@',可以使用Python中的replace()函,将空格替换成'@'即可。代码如下: replace_space = input_str.replace(' ', '@') # 将空格替换为'@' print("将空格替换为'@'的结果为:", replace_space) 对于第四步和第五步,我们需要将字符串中的大写字母转换为小写字母,或是将字符串中的小写字母转换为大写字母,可以分别使用Python中的lower()函和upper()函实现。代码如下: to_lower = input_str.lower() # 将大写字母转换为小写字母 print("将大写字母转换为小写字母的结果为:", to_lower) to_upper = input_str.upper() # 将小写字母转换为大写字母 print("将小写字母转换为大写字母的结果为:", to_upper) 执行以上代码,就可以完成题目所需的全部处理了。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值