字母统计



描述
现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。

输入
第一行输入一个正整数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;
}

时间: 2024-08-03 16:39:49

字母统计的相关文章

字母统计(南阳oj241)(水题)

字母统计 时间限制:3000 ms  |  内存限制:65535 KB 难度:1 描述 现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个. 输入 第一行输入一个正整数T(0<T<25) 随后T行输入一个字符串s,s长度小于1010. 输出 每组数据输出占一行,输出出现次数最多的字符: 样例输入 3 abcd bbaa jsdhfjkshdfjksahdfjkhsajkf 样例输出 a a j 来源 [路过这]原创 上传者 路过这

九度OJ 1098 字母统计

题目1098:字母统计 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3187 解决:1536 题目描述: 输入一行字符串,计算其中A-Z大写字母出现的次数 输入: 案例可能有多组,每个案例输入为一行字符串. 输出: 对每个案例按A-Z的顺序输出其中大写字母出现的次数. 样例输入: DFJEIWFNQLEF0395823048+_+JDLSFJDLSJFKK 样例输出: A:0 B:0 C:0 D:3 E:2 F:5 G:0 H:0 I:1 J:4 K:2 L:3 M:0 N:1 O

南阳241(字母统计)

初学者,一同探讨: #include<stdio.h>#include<string.h>int main(){ int n; scanf("%d",&n); while(n--) { int num[100]; int b=0,c,i,j,k,t,d=0,max,sum=0; char x,str[1010]; scanf("%s",&str); c=strlen(str); for(j=0;j<c-1;j++)//冒

字母统计 思想值得学习

题目描述 现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个. 输入 第一行输入一个正整数T(0<T<25) 随后T行输入一个字符串s,s长度小于1010. 输出 每组数据输出占一行,输出出现次数最多的字符: 样例输入 3 abcd bbaa jsdhfjkshdfjksahdfjkhsajkf 样例输出 a a j 提示 这一种 将    字母转换成  数字  并且 作为数组下表的情况  十分的好   省时省力 #include

字母统计(241)

描述现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个. #include<stdio.h> #include<string.h> int main() { char str[1010]; int n, len, i, max, j; scanf("%d",&n); while(n--) { int a[26] = {0}; max = 0; j = 0; scanf("%s&qu

利用mapWithState实现按照首字母统计的有状态的wordCount

最近在做sparkstreaming整合kafka的时候遇到了一个问题: 可以抽象成这样一个问题:有状态的wordCount,且按照word的第一个字母为key,但是要求输出的格式为(word,1)这样的形式 举例来说: 例如第一批数据为: hello how when hello 则要求输出为:(hello,1) (how,2) (when,1) (hello,3) 第二批数据为: hello how when what hi 则要求输出为: (hello,4) (how,5) (when,2

python - 练习统计随机字母数据

# 随机字母,统计每个字母的数量: # 1.按a-z 的方式 显示每个字母的数量 # 2.按从多到少的方式 显示每个字母的数据 info= "fkdsfkasefhjsadfjagroeklwehujksfdjkjhfw yusjkajklqwjiopkowep,lmkooigtftrdsesezzwzqxcdvgbhunhinjmkomkomkonjnjibhdasdsfjsfjkaejsfhjshfjkrhrbeghbdfhgbjherbjhaslkdwqefm;e,;frepwogmpor

codeforce-600C. Make Palindrome(贪心)

http://codeforces.com/problemset/problem/600/C: 题意:给你一个小写字母组成的英文串,将它转换为回文串,要求,改变的字母的个数最小,移动字母不算改变字母. 所得的串字典序是最小的.最后输出所得到的串. 思路:要求改变的字母数最小那么用贪心的思想,就把原来的字母尽可能多的填入要求的串中. 首先,先把原串中的字母统计出来,开个数组存对应的字符的个数,然后从‘a’开始循环,如果对应字母的个数大于1: 如果是偶数个的话,就在所求串两端一边加一个,可以正好加完

JavaEE实战——Servlet入门、Servlet生命周期、绝对路径、ServletContext

前言 接下来的三篇博客我会分别介绍Servlet的以下三个方面: 1.Servlet程序编写 ----- 生命周期 2.ServletAPI Request Response 3.Cookie 和 Session Servlet的作用:Servlet 用来 动态web资源 开发 静态web资源 : 固定数据文件 动态web资源 : 通过程序动态生成数据文件 Servlet技术基于Request-Response编程模型 ---- HTTP协议也是基于请求响应 模型 * Servlet技术 用来