1187:统计字符数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 20924 通过数: 11869
【题目描述】
给定一个由a-z这26个字符组成的字符串,统计其中哪个字符出现的次数最多。
【输入】
输入包含一行,一个字符串,长度不超过1000。
【输出】
输出一行,包括出现次数最多的字符和该字符出现的次数,中间以一个空格分开。如果有多个字符出现的次数相同且最多,那么输出ascii码最小的那一个字符。
【输入样例】
abbccc
【输出样例】
c 3
用整形数组的下标来表示字符,其中的值表示字符的出现次数。
#include<iostream> #include<cmath> #include<cstring> using namespace std; int a[50]; int main() { int i,j=0,k,m,n; char c,c2; while(1){ c=getchar(); if(c==10)break; c2=c-'a'; a[(int)(c2)]++;//转换为整形的下标中的数加1 } for(i=0;i<26;i++)//找出最大的值 { if(a[i]>j) j=a[i]; //printf("%d",a[i]); } for(i=0;i<26;i++)//找到这个最大的值,输出 { if(j==a[i]) { printf("%c %d",(char)i+'a',j); break; } } return 0; }