(hdu 简单题 128道)AC Me(统计一行文本中各个字母出现的次数)
2015-03-11 17:29
507 查看
题目:
Total Submission(s): 13465 Accepted Submission(s): 5927
[align=left]Problem Description[/align]Ignatius is doing his homework now. The teacher gives him some articles and asks him to tell how many times each letter appears.
It's really easy, isn't it? So come on and AC ME.
[align=left]Input[/align]Each article consists of just one line, and all the letters are in lowercase. You just have to count the number of each letter, so do not pay attention to other characters. The length of article is at most 100000. Process to the end of file.
Note: the problem has multi-cases, and you may use "while(gets(buf)){...}" to process to the end of file.
[align=left]Output[/align]For each article, you have to tell how many times each letter appears. The output format is like "X:N".
Output a blank line after each test case. More details in sample output.
[align=left]Sample Input[/align]hello, this is my first acm contest!
work hard for hdu acm.
[align=left]Sample Output[/align]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
[align=left]Author[/align]Ignatius.L
[align=left]Source[/align]杭州电子科技大学第三届程序设计大赛
[align=left]Recommend[/align]Ignatius.L | We have carefully selected several similar problems for you: 1200 1201 1220 1235 1234
题目分析:
简单题。统计各个字母出现的次数。
代码如下:
/*
* 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;
}
AC Me
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 13465 Accepted Submission(s): 5927
[align=left]Problem Description[/align]Ignatius is doing his homework now. The teacher gives him some articles and asks him to tell how many times each letter appears.
It's really easy, isn't it? So come on and AC ME.
[align=left]Input[/align]Each article consists of just one line, and all the letters are in lowercase. You just have to count the number of each letter, so do not pay attention to other characters. The length of article is at most 100000. Process to the end of file.
Note: the problem has multi-cases, and you may use "while(gets(buf)){...}" to process to the end of file.
[align=left]Output[/align]For each article, you have to tell how many times each letter appears. The output format is like "X:N".
Output a blank line after each test case. More details in sample output.
[align=left]Sample Input[/align]hello, this is my first acm contest!
work hard for hdu acm.
[align=left]Sample Output[/align]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
[align=left]Author[/align]Ignatius.L
[align=left]Source[/align]杭州电子科技大学第三届程序设计大赛
[align=left]Recommend[/align]Ignatius.L | We have carefully selected several similar problems for you: 1200 1201 1220 1235 1234
题目分析:
简单题。统计各个字母出现的次数。
代码如下:
/*
* 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 3065 病毒侵袭持续中 ac自动机 统计文本串的单词和其出现的次数。
- 增强型for循环 包装类 实现简单的 字母出现次数统计
- HDU 1800 简单贪心 13.1.10用trie重做 ---其实是统计出现次数最多的单词
- Count words and letters-计算用户输入一行文本中的单词数和每个字母出现次数
- linux实现针对文本统计字母出现的次数(所有的可打印的字符)
- linux实现针对文本统计字母出现的次数(所有的可打印的字符)
- 每日一题(24)——统计文本中出现次数最多的K个词(Top K)
- 统计文本文件中单词出现次数最多的单词
- 意外收获-ruby编写的一个简单统计单词出现次数的程序
- awk统计用户输入错误的验证码每个字母出现的次数
- 统计字母'A'出现的次数
- 一个文本文件中约有10万多行的数据,每个数据占一行(数据为一个整数)。要求:统计出总行数,并找出出现次数最多的那个整数。
- 输入一行字符串统计各字符出现的次数
- java实现统计输入一行string中统计其中各个字符出现的次数
- 一个简单的例子理解C++ map, 运用map统计单词出现的次数
- 统计一个字符串中英文字母的个数及各个字母出现的次数
- 统计字符串中每个字母出现的次数
- 让文本飞 linux shell脚本数据挖掘实践,统计出出现次数top3的url。
- 【java】统计一篇英文文章每个字母出现的次数
- 统计文件里面字母a-z出现的次数