39-语言入门-39-字母统计
2015-04-16 00:11
197 查看
题目地址: http://acm.nyist.net/JudgeOnline/problem.php?pid=241
描述现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
输入第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出每组数据输出占一行,输出出现次数最多的字符;
样例输入3
abcd
bbaa
jsdhfjkshdfjksahdfjkhsajkf
样例输出a
a
j
代码:
#include <stdio.h>
int main()
{
int readLen = 0;
scanf("%d",&readLen);
getchar();
while(readLen > 0)
{
int arr[26]={0};
char inputData[1024];
scanf("%s",inputData);
getchar();
int i=0;
while(inputData[i] != '\0')
{
int tmpIndex = (int)(inputData[i]-'a');
++arr[tmpIndex];
++i;
}
i = 1;
int resultIndex = 0;
for(;i<26;++i)
{
if(arr[resultIndex] < arr[i])
{
resultIndex = i;
}
}
printf("%c\n",'a'+resultIndex);
--readLen;
}
return 0;
}
典型考虑问题思路:
1.读取数据保存在哪里
2.利用数组索引直接定位的特性计数
3.遍历数组比较大小
描述现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个。
输入第一行输入一个正整数T(0<T<25)
随后T行输入一个字符串s,s长度小于1010。
输出每组数据输出占一行,输出出现次数最多的字符;
样例输入3
abcd
bbaa
jsdhfjkshdfjksahdfjkhsajkf
样例输出a
a
j
代码:
#include <stdio.h>
int main()
{
int readLen = 0;
scanf("%d",&readLen);
getchar();
while(readLen > 0)
{
int arr[26]={0};
char inputData[1024];
scanf("%s",inputData);
getchar();
int i=0;
while(inputData[i] != '\0')
{
int tmpIndex = (int)(inputData[i]-'a');
++arr[tmpIndex];
++i;
}
i = 1;
int resultIndex = 0;
for(;i<26;++i)
{
if(arr[resultIndex] < arr[i])
{
resultIndex = i;
}
}
printf("%c\n",'a'+resultIndex);
--readLen;
}
return 0;
}
典型考虑问题思路:
1.读取数据保存在哪里
2.利用数组索引直接定位的特性计数
3.遍历数组比较大小
相关文章推荐
- 39-语言入门-39-字母统计
- 第十三周项目5-字符串的操作(统计字母 ' A ' 出现的次数)
- 南阳OJ之语言入门 题目39 - 水仙花数
- 统计字母'A'出现的次数
- 统计字母'A'出现的次数
- 南阳理工学院ACM语言入门题目39水仙花数的思考与代码
- R语言入门之基本统计分析
- 第十四周 统计字母'A'出现的次数
- 统计字母'A'和 数字 出现的次数;
- go语言之map练习之(一):统计字母、数字等Unicode中不同的字符类别出现的次数
- 数据处理的两个基本问题02 - 零基础入门学习汇编语言39
- 数据处理的两个基本问题02 - 零基础入门学习汇编语言39
- Linux-C基础知识学习:C语言作业-从键盘输入一行字符,统计其中有多少个字母, 数字,空格(用数组实现,gets)。
- ——输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
- 寄存器(CPU工作原理)04 - 零基础入门学习汇编语言09
- Scala语言与Play框架入门教程
- 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数
- 【转贴】linux操作系统下c语言编程入门
- 百度练习题 统计元音字母
- 蓝鸥iOS从零基础到精通就业-OC语言入门 类目和延展