POJ 2742 统计字符数 解题报告
POJ 2742 统计字符数 解题报告
编号:2742
考查点:字符串处理
思路:这个和上次那个POJ 2801有相似之处,维护一个字符表数组即可,有点<flexible matching in string>的意思
提交情况:这么水的题,竟然没有直接AC,我玩大了..
Source Code:
//POJ Grids 2742
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int letters[26] = {0};
for (int i=0;i<n;i++)
{
memset(letters,0,26*sizeof(int));
char pch[1024];
cin>>pch;
char* ch = pch;
while (*ch)
{
letters[*ch++-'a']++;
}
int index = 0;
for (int i=1;i<26;i++)
{
if (letters[index] < letters[i])
{
index = i;
}
}
cout<<(char)('a'+index)<<" "<<letters[index]<<endl;
}
return 0;
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int letters[26] = {0};
for (int i=0;i<n;i++)
{
memset(letters,0,26*sizeof(int));
char pch[1024];
cin>>pch;
char* ch = pch;
while (*ch)
{
letters[*ch++-'a']++;
}
int index = 0;
for (int i=1;i<26;i++)
{
if (letters[index] < letters[i])
{
index = i;
}
}
cout<<(char)('a'+index)<<" "<<letters[index]<<endl;
}
return 0;
}
总结:在初始化字符数组时,想使用memset,结果忘记memset的最后一个长度参数是计算的字节数,int为4字节没考虑到,导致了一次WA,然后就轻松AC了,貌似是CQU 07年的程序设计大赛初赛题目
By Ns517
Time