前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >水题 统计字符

水题 统计字符

作者头像
喜欢ctrl的cxk
发布2019-11-08 17:04:44
4730
发布2019-11-08 17:04:44
举报
文章被收录于专栏:Don的成长史

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/85337673

题目描述:

统计一个给定字符串中指定的字符出现的次数。

输入描述:

测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串。注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一。当读到'#'时输入结束,相应的结果不要输出。

输出描述:

对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出: c0 n0 c1 n1 c2 n2 ... 其中ci是第1行中第i个字符,ni是ci出现的次数。

输入样例:

代码语言:javascript
复制
I
THIS IS A TEST
i ng
this is a long test string
#

输出样例:

代码语言:javascript
复制
I 2
i 3
  5
n 2
g 2

解题思路:

看到这种统计字符的题无脑用Python。当然用C++也可以,只要输入的第一行字符串a不是#。就用for-each循环遍历字符串a,统计字符串a的每一个字符在字符串b中出现的次数。

PyAC代码:

代码语言:javascript
复制
while True:
    try:
        a,b = input(),input()
        for i in a:
            print(i+" "+str(b.count(i)))
    except:
        break

C++AC代码:

代码语言:javascript
复制
#include <bits/stdc++.h>
using namespace std;

int main()
{
    string a,b;
    while(getline(cin,a)&&a!="#")  //当读到'#'时输入结束
    {
        getline(cin,b);
        for(auto it : a)    //统计第1行中字符串的每个字符在第2行字符串中出现的次数
        {
            cout << it << " " << count(b.begin(),b.end(),it) <<endl; 
        }
    }
    return 0;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018/12/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目描述:
  • 输入描述:
  • 输出描述:
  • 输入样例:
  • 输出样例:
    • 解题思路:
      • PyAC代码:
        • C++AC代码:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档