题目:
hello, this is my first acm contest! work hard for hdu acm.
a:1 b:0 c:2 d:0 e:2 f:1 g:0 h:2 i:3 j:0 k:0 l:2 m:2 n:1 o:2 p:0 q:0 r:1 s:4 t:4 u:0 v:0 w:0 x:0 y:1 z:0 a:2 b:0 c:1 d:2 e:0 f:1 g:0 h:2 i:0 j:0 k:1 l:0 m:1 n:0 o:2 p:0 q:0 r:3 s:0 t:0 u:1 v:0 w:1 x:0 y:0 z:0
题目分析:
简单题。统计各个字母出现的次数。
代码如下:
/*
* a.cpp
*
* Created on: 2015年3月11日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
#include <map>
#include <cstring>
using namespace std;
int main() {
string str;
int cnt[26];//开一个数组,用于存储每个字符出现的次数
while (getline(cin, str)) {//读入一行数据.不要用C++提交,可能会CE
memset(cnt, 0, sizeof(cnt));
int len = str.length();
int i;
for (i = 0; i < len; ++i) {//遍历整个字符串
if(str[i] >= ‘a‘ && str[i] <= ‘z‘){//如果该字符是一个字母
cnt[str[i] - ‘a‘]++;//统计该字母出现的次数
}
}
for(i = 0 ; i < 26 ; ++i){//遍历cnt数组
printf("%c:%d\n",‘a‘+i,cnt[i]);//输出各个字母出现的次数
}
printf("\n");
}
return 0;
}
(hdu 简单题 128道)AC Me(统计一行文本中各个字母出现的次数)
原文:http://blog.csdn.net/hjd_love_zzt/article/details/44201789