问题来源
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-12-11 13:33:56