题目1021:统计字符(hash简单应用)

问题来源

  http://ac.jobdu.com/problem.php?pid=1021

问题描述

  每次输入两个字符串,统计第一个字符串中的每个字符在第二个字符串中出现的次数。

问题分析

  太明显了,hash数组的简单应用:吧字符数值作为数组下标对每个字符进行计数。

  另外,字符串的整行输入,请参考:http://www.cnblogs.com/AlvinZH/p/6798023.html

参考代码

//
// Created by AlvinZH on 2017/5/18.
// Copyright (c) AlvinZH. All rights reserved.
//

#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
using namespace std;

int main()
{
    char p[5];
    char s[80];
    int sum[125];
    while(gets(p))
    {
        if(p[0]=='#') break;
        else
        {
            gets(s);

            memset(sum,0,sizeof(sum));
            for(int i=0;s[i]!='\0';i++)
                sum[s[i]]++;
        }
        for(int i=0;p[i]!='\0';i++)
            printf("%c %d\n",p[i],sum[p[i]]);
    }
}

 

作者: AlvinZH

出处: http://www.cnblogs.com/AlvinZH/

本人Github:https://github.com/Pacsiy/JobDu

本文版权归作者AlvinZH和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

posted @ 2017-05-18 00:09  AlvinZH  阅读(251)  评论(0编辑  收藏  举报