解题思路:

注意事项:

参考代码:

#include<iostream>

#include<string>

#include<map>

using namespace std ;

int main ( )

{

     string str = "" ;

     getline ( cin , str ) ;

     int len = str.size() ;

     map< string , int > mp = { {"字母" , 0}, {"数字" , 0}, {"空格", 0}, {"其他", 0} } ;

    //初始化map容器,创建一个“下标" 是字符串类型, 元素是int类型的map容器

    //map容器根据”下标“按照字典排列元素的顺序

    //这里不初始化也可以,没有我们使用的下标系统会自动创建并且初始化为0或者空NULL

     for ( int i = 0 ; i < len ; i ++ )

     {

         if ( (str[i]>='a'&&str[i]<='z') || (str[i]>='A'&&str[i]<='Z'))

         {

              mp["字母"]++ ; 

         }

         else if ( str[i]==' ' ) mp["空格"]++ ;

         else if ( str[i]>='0' && str[i]<='9' ) mp["数字"]++ ;

         else mp["其他"]++ ;

     }

     cout << mp["字母"] << " " << mp["数字"] << " " << mp["空格"] << " " << mp["其他"] << endl ; 

    //这里不能使用for循环使用下标进行遍历,因为map容器根据”下标“按照字典排列元素的顺序

     return 0 ;

}


点赞(0)
 

0.0分

0 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论