每日一九度之题目1021:统计字符

Posted Asimple

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每日一九度之题目1021:统计字符相关的知识,希望对你有一定的参考价值。

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:6050

解决:3491

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

继续用桶的思想,这种题目很简单!O(∩_∩)O哈哈~

//Asimple
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cctype>
#include <cstdlib>
#include <stack>
#include <cmath>
#include <string>
#include <queue>
#define INF 100000
using namespace std;
const int maxn = 105;
typedef long long ll ;
int n, m, num;
char str[maxn], s1[6];
int a[128]; 

int main(){
    while( gets(s1) != NULL ){
        if( strlen(s1) == 1 && s1[0] == # ) break;
        memset(a,0,sizeof(a));
        gets(str);
        for(int i=0; str[i]!=\0; i++){
            a[str[i]] ++ ;
        }
        for(int j=0; s1[j]!=\0; j++){
            printf("%c %d\n",s1[j],a[s1[j]]);
        }
    } 
    return 0;
}

 

以上是关于每日一九度之题目1021:统计字符的主要内容,如果未能解决你的问题,请参考以下文章

每日一九度之 题目1028:继续畅通工程

每日一九度之 题目1079:手机键盘

每日一九度之 题目1041:Simple Sorting

每日一九度之 题目1083:特殊乘法

每日一九度之 题目1038:Sum of Factorials

每日一九度之 题目1089:数字反转