九度笔记之 统计字符

来源:互联网 发布:好看的泳衣知乎 编辑:程序博客网 时间:2024/06/05 04:51


题目描述:

    统计一个给定字符串中指定的字符出现的次数。
输入:
    测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到'#'时输入结束,相应的结果不要输出。
输出:
    对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出:
    c0 n0
    c1 n1
    c2 n2
    ... 
    其中ci是第1行中第i个字符,ni是ci出现的次数。
样例输入:
ITHIS IS A TESTi ngthis is a long test string#
样例输出:
I 2i 3  5n 2g 2

分析

利用 std::map

源码

#include <iostream>#include <string>#include <map>void test1110(std::string q){std::map<char,int> cm;std::string line;getline(std::cin,line);for(std::string::size_type i = 0;i<line.size();i++){cm[line.at(i)]++;}for(std::string::size_type i = 0;i<q.size();i++){std::cout<<q.at(i)<<" ";if(cm.count(q.at(i))==0){std::cout<<"0";}else{std::cout<<cm[q.at(i)];}std::cout<<std::endl;}}int main(){std::string q;getline(std::cin,q);while (q!="#") {test1110(q);getline(std::cin,q);   }return 0;}


资源下载

C++ Primer Fifth Edition 英文彩色带书签 http://download.csdn.net/detail/kingeasternsun/5529053
C++ Primer Plus (6th Edition)  英文原版 彩色带书签http://download.csdn.net/detail/kingeasternsun/5508691

算法导论第3版  http://download.csdn.net/detail/kingeasternsun/5602641


原创粉丝点击