【刷题第五天】char型——C++

【题目描述】

给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。

【输入】

输入包含一行,一个字符串,长度不超过1000。

【输出】

输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。

【输入样例】

abbccc

【输出样例】

c 3
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <string>
 4 using namespace std;
 5 int main() {
 6     int a[26], max, zhi, len;
 7     char b[1000];
 8     cin >> b;
 9     len = strlen(b);
10     for (int i = 0; i < 26; i++)       //将数组全部置为0可以在定义的时候置0:int a[26]={0};   
11     {
12         a[i] = 0;
13     }
14     for (int i = 0; i < len; i++)
15     {
16         a[b[i] - 'a']++;
17     }
18     max = a[0];
19     zhi = 0;
20     for (int i = 1; i < 26; i++)
21     {
22         if (max < a[i]) {
23             max = a[i];
24             zhi = i;
25         }
26     }
27     cout << char('a' + zhi) << " " << max;
28     return 0;
29 }

猜你喜欢

转载自www.cnblogs.com/zymzymzym/p/13167869.html