ACM-字母统计

描述
现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
输入
第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出
每组数据输出占一行,输出出现次数最多的字符;
样例输入
3
abcd
bbaa
jsdhfjkshdfjksahdfjkhsajkf
样例输出
a
a
j
代码:
     
     
     
     
01. #include<iostream>
02. #include<string>
03. using namespace std;
04. int main()
05. {
06. int t;
07. cin>>t;
08. while(t--)
09. {
10. string a;
11. int i,j,k=0,max,b[26]={0};
12. char temp ,c[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
13. cin>>a;
14.  
15. for(i = 0;i < a.length();i++)
16. {
17. if(a[i]=='a')
18. b[0]++;
19. if(a[i]=='b')
20. b[1]++;
21. if(a[i]=='c')
22. b[2]++;
23. if(a[i]=='d')
24. b[3]++;
25. if(a[i]=='e')
26. b[4]++;
27. if(a[i]=='f')
28. b[5]++;
29. if(a[i]=='g')
30. b[6]++;
31. if(a[i]=='h')
32. b[7]++;
33. if(a[i]=='i')
34. b[8]++;
35. if(a[i]=='j')
36. b[9]++;
37. if(a[i]=='k')
38. b[10]++;
39. if(a[i]=='l')
40. b[11]++;
41. if(a[i]=='m')
42. b[12]++;
43. if(a[i]=='n')
44. b[13]++;
45. if(a[i]=='o')
46. b[14]++;
47. if(a[i]=='p')
48. b[15]++;
49. if(a[i]=='q')
50. b[16]++;
51. if(a[i]=='r')
52. b[17]++;
53. if(a[i]=='s')
54. b[18]++;
55. if(a[i]=='t')
56. b[19]++;
57. if(a[i]=='u')
58. b[20]++;
59. if(a[i]=='v')
60. b[21]++;
61. if(a[i]=='w')
62. b[22]++;
63. if(a[i]=='x')
64. b[23]++;
65. if(a[i]=='y')
66. b[24]++;
67. if(a[i]=='z')
68. b[25]++;
69. }
70. max = b[0];
71. for(i = 0;i < 26;i++ )
72. {
73. if(max < b[i])
74. {
75. max = b[i];
76. k = i;
77. }
78. }
79. cout<<c[k]<<endl;
80. }
81. }

你可能感兴趣的:(ACM-字母统计)