题目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和博客园所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

时间: 2024-07-31 14:31:35

题目1021:统计字符(hash简单应用)的相关文章

九度OJ 1021 统计字符 (模拟)

题目1021:统计字符 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:4601 解决:2705 题目描述:     统计一个给定字符串中指定的字符出现的次数. 输入:     测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串.注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一.当读到'#'时输入结束,相应的结果不要输出. 输出:     对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数

杭电oj1860:统计字符(字符串hash / 水题)

统计字符 题目链接 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串.注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一.当读到'#'时输入结束,相应的结果不要输出.

统计字符出现次数并排序(hash)

统计字符出现次数并排序 class Hist(dict): def add(self, item, increment=1): """increase num""" self[item] = increment + self.get(item, 0) def counts(self, reverse=False): """return""" aux = [(self[k], k) for

浙大版《C语言程序设计(第3版)》题目集 练习3-4 统计字符 (15 分)

练习3-4 统计字符 (15 分) 本题要求编写程序,输入10个字符,统计其中英文字母.空格或回车.数字字符和其他字符的个数. 输入格式: 输入为10个字符.最后一个回车表示输入结束,不算在内. 输出格式: 在一行内按照 letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数 的格式输出. 输入样例: aZ & 09 Az 输出样例: letter = 4, blank = 3, digit = 2, other = 1

九度机试 题目1165:字符串匹配 2008年北京航空航天大学计算机研究生机试真题

题目1165:字符串匹配 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2497 解决:858 题目描述: 读入数据string[ ],然后读入一个短字符串.要求查找string[ ]中和短字符串的所有匹配,输出行号.匹配字符串.匹配时不区分大小写,并且可以有一个用中括号表示的模式匹配.如"aa[123]bb",就是说aa1bb.aa2bb.aa3bb都算匹配. 输入: 输入有多组数据. 每组数据第一行输入n(1<=n<=1000),从第二行开始输入n个字符串(

C语言统计字符数

一段统计字符数的代码及分析. 先贴代码: #include<stdio.h> #include<string.h>//提供memset函数原型. int main() { char S[80]; int C[26],length;//一段声明,即字符数组S,整型数组C,和整型length. memset(C,0,sizeof(C));//将C清零,至于为什么不把字符数组清零,稍后有一段实验过程. for(int i=0;i<=3;i++)//循环4次,读入4行字符串. { g

29:统计字符数

29:统计字符数 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多. 输入 输入包含一行,一个字符串,长度不超过1000. 输出 输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开.如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符. 样例输入 abbccc 样例输出 c 3 来源 1744 1 #include<iostream> 2 #

统计字符(杭电1860)

/*统计字符 Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字符串.注意这里的字符串包含空格,即空格也可能是要求被统计的字符之一.当读到'#'时输入结束,相应的结果不要输出. Output 对每个测试用例,统计第1行中字符串的每个字符在第2行字符串中出现的次数,按如下格式输出: c0 n0 c1 n1 c2 n2 ... 其中ci是第1行中

Hdu 1860 统计字符

统计字符 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11529    Accepted Submission(s): 7195 Problem Description 统计一个给定字符串中指定的字符出现的次数 Input 测试输入包含若干测试用例,每个测试用例包含2行,第1行为一个长度不超过5的字符串,第2行为一个长度不超过80的字

统计字符次数

输入一个字符串(长度在100以内),统计其中数字字符出现的次数. 样例输入 Ab100cd200 样例输出 6 #include"stdio.h" int main() { char a[100]; int i; int sum=0; scanf("%s",a); for(i=0;a[i]!='\0';i++) if(a[i]>='0'&&a[i]<='9') sum++; printf("%d",sum); retu