解题思路:
我看了一下题解,好像用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分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论