POJ 2742 统计字符数

时间限制: 
1000ms
内存限制: 
65536kB
描述
判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多
输入
第1行是测试数据的组数n,每组测试数据占1行,是一个由a-z这26个字符组成的字符串
每组测试数据之间有一个空行,每行数据不超过1000个字符且非空
输出
n行,每行输出对应一个输入。一行输出包括出现次数最多的字符和该字符出现的次数,中间是一个空格。
如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符
样例输入
2abbcccadfadffasdf
样例输出
c 3f 4
 
(1)、源代码:
#include <stdio.h>
#include <string.h>

int main( )
{
  int cases, sum[26], i, max;
char str[1001];

scanf("%d", &cases);
  while (cases > 0) {
  scanf("%s", str);
    for(i = 0; i < 26; i++)  
   sum[i]=0;
    for(i = 0; i < strlen(str); i++)  
   sum[str[i] - 'a']++;
  max = 0;
    for( i = 1; i < 26; i++)
      if (sum[i] > sum[max]) max = i;
  printf("%c %d\n", max+'a', sum[max]);
  cases--;
}
  return 0;
}
 
(2)、解题思路:略
(3)、可能出错:略 
posted on 2012-05-11 20:25  谷堆旁边  阅读(1365)  评论(0)    收藏  举报