九度 OJ 1021:统计字符

来源:互联网 发布:java博客网站 编辑:程序博客网 时间:2024/05/29 14:44
题目1021:统计字符

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:5941

解决:3431

题目描述:
    统计一个给定字符串中指定的字符出现的次数。
输入:
    测试输入包含若干测试用例,每个测试用例包含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
来源:

2007年浙江大学计算机及软件工程研究生机试真题


注意输出的时候字符和数字之间有一个空格,还有把空格算在输入之内的话,用getline(cin,s)语句


#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){    string s1,s2;    int result=0;    while(getline(cin,s1)){        if(s1=="#") break;        getline(cin,s2);        for(int i=0;i<s1.length();i++){            for(int j=0;j<s2.length();j++) {                if(s1[i]==s2[j]) result++;            }            printf("%c %d\n",s1[i],result);            result=0;        }    }} /**************************************************************    Problem: 1021    User: th是个小屁孩    Language: C++    Result: Accepted    Time:0 ms    Memory:1520 kb****************************************************************/


0 0
原创粉丝点击