求助C语言编程题,急用,谢谢

判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多。输入数据:一个由a-z26个字符组成的字符串,只考虑小写的情况。输出要求:包括出现次数最多的字符和该字符... 判断一个由a-z这26个字符组成的字符串中哪个字符出现的次数最多。

输入数据:一个由a-z 26个字符组成的字符串,只考虑小写的情况。

输出要求:包括出现次数最多的字符和该字符出现的次数,中间是一个空格。如果有多个字符出现的次数相同且最多,那么输出ASCII码最小的那一个字符。

样例1:

Sample Input: abbcccd

Sample Output: c 3

样例2:

Sample Input: aabbbcccddd

Sample Output: b 3
邮箱是877075206@qq.com,发到哪都可以,谢谢了
展开
 我来答
Negamax
2012-04-26 · TA获得超过2723个赞
知道小有建树答主
回答量:656
采纳率:100%
帮助的人:290万
展开全部
不多说了。上图:
aabbbcccddd
b 3
请按任意键继续. . .

正确的代码:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"

int main()
{
int a[26]={0};
char s[100];
int max=0,index=-1,i;
scanf("%s",&s);
for(i=0;i<strlen(s);i++)
{
a[s[i]-'a']++;
}
for(i=0;i<26;i++)
{
if(a[i]>max)
{
max=a[i];
index=i;
}
}
printf("%c %d\n",'a'+index,max);

system("pause");
}

GoodLuck!
追问
谢谢了,可是能不能帮忙改简单点,我们没学这个。。。
追答
已经尽力了,基本是最简介的思路了:
说一下思路:
输入字符串,且定义一个数组存放26个元素出现的次数
从头到尾扫描一遍,如果是a就把a出现的次数加一放到a[0]中,同理z就放到a[25]中。
然后对这个统计次数的数组扫描找出出现次数最多的那个字符,并记录其下标

这个算法写的有点巧。好好理解吧。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式