首页 > 代码库 > 字母统计
字母统计
- 输入
- 第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。 - 输出
- 每组数据输出占一行,输出出现次数最多的字符;
- 样例输入
3 abcd bbaa jsdhfjkshdfjksahdfjkhsajkf
- 样例输出
a a j
解题思路:
本题的技巧,如下之处在于,可将每个字母出现的次数存在数组中,如下所示:
根据s【1】中所存字母出现次数的大小,即可得到出现次数最多的那个字母。需要注意的是,注意字母和数字之间的转化。并且,对于每个N,都应该将数组初始化为零(memset(s,0,sizeof(s));)。
程序代码:
#include<stdio.h> #include<string.h> int main() { int n,i; int s[26]={0}; char ch; scanf("%d",&n); getchar(); while(n--) { int max=0,t; memset(s,0,sizeof(s)); while(scanf("%c",&ch)&&ch!='\n') { //printf("%d ",ch - 'a'); s[ch-'a']++; } for(i=0;i<26;i++) { if(s[i]>max){ max = s[i]; t = i; } } //printf("max = %d,t = %d\n",max,t); printf("%c\n",t+'a'); } return 0; }
字母统计
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。