解题思路:
我看了一下题解,好像用ctype系列的题解暂时没有。这里就暂且引入一下ctype,操作就稍稍简单一点。
ctype.h是C标准函数库中的头文件,定义了一批C语言字符分类函数(C character classification functions),用于测试字符是否属于特定的字符类别,如字母字符、控制字符等等。既支持单字节字符,也支持宽字符。在C++中对应的头文件是#include<cctype>。
常见的ctype中的函数有几种:
is开头的几个函数返回一个bool值,常配合判断语句使用:
isalnum(ch)是否为字母数字
isalpha(ch)是否为字母
islower(ch)是否为小写字母
isupper(ch)是否为大写字母
isdigit(ch)是否为数字
isxdigit(ch)是否为16进制数字
iscntrl(ch)是否为控制字符
isgraph (ch) 是否为图形字符(例如,空格、控制字符都不是)
isspace(ch)是否为空格字符(包括制表符、回车符、换行符等)
isblank(ch)是否为空白字符(C99/C++11新增)(包括水平制表符)
isprint (ch) 是否为可打印字符
ispunct(ch) 是否为标点
to开头的函数格式如下,常用于字符的转换:
ch2=tolower(ch1)转换为小写
ch2=toupper(ch1)转换为大写
参考代码:
#include<iostream> #include<cctype> #include<cstring> using namespace std; int main() { char a[101]; cin.getline(a,100);//防空格 int len,i,num=0; len=strlen(a); for(i=0;i<len;i++) { if(isalpha(a[i]))//ctype系列函数直接判断,就不需要记住ASCII码了 { num++; } } cout<<num; return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复