求字符串中的字母和数字个数

编写程序输入一个字符串,分别统计输出该字符串中的字母个数和数字个数

算法分析:判断字母和数字的核心方法是依靠 ASCII 码进行,所以对字符串中的每个字符逐个判断即可得到结果。实现方法依然是依靠指针。
程序分析:本题需要注意的有两点:
1、char 类型的变量,初学者往往理解为是不能直接比较大小的,实际上直接比较大小时,是将类型转换为了 int 后比较的 ASCII 码值。这样的方法相对与手动转换为 ASCII码比较而言更加高效和方便,希望读者掌握。
2、字母包含大小写,这点容易遗漏,在程序设计时应该考虑更全面。
另外,这道题还可以扩展为求数字、字母和其他字符的数量,请读者思考。

#include<stdio.h>
int main()
{
 	char str[100];//定义一个数组存储字符串
 	char *p;
 	int n_count=0,c_count=0;
 	p=str;
 	printf("请输入一个字符串:");
 	gets(str);//输入字符串
 	do
 	{
 		if((*p>='0')&&(*p<='9'))//判断数字
 		n_count++;
 		if((*p>='a')&&(*p<='z'))//判断小写字母
 		c_count++;
 		if((*p>='A')&&(*p<='Z'))//判断大写字母
 		c_count++;
 		p++;
 	}while(*p!='\0');
 	printf("字符串%s 中的字母个数是:%d ,数字个数是:%d",str,c_count,n_count);
 	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梧杵

还是学生,生活太难

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值