解题思路:(一) 建一个26位的数组,0~25代表a~z的个数,选出最大并记录最大的这个位置
(二) 逐个读取字符串各个元素,相同的加一;选取最大的,并记录最大字符
注意事项:注意题目要求不超过1000,所以要建1001,否则会显示运行57;
参考代码:
#include<stdio.h>
#include<string.h>
/*void main()
{
char a[1001],b;
int len,i,j,t,count,max=0;
scanf("%s",&a);
len=strlen(a);
int c[26]={0};
for(i=0;i<len;i++)
{
c[a[i]-'a']+=1;
}
for(i=0;i<26;i++)
{
if(c[i]>max)
{
max=c[i];
t=i;
}
}
printf("%c\n",t+'a');
printf("%d",max);
}*/
void main()
{
char a[1001],t;
scanf("%s",&a);
int len,i,j,count,max=0;
len=strlen(a);
int c[len];
for(i=0;i<len;i++)
{
t=a[i];
count=0;
for(j=0;j<len;j++)
{
if(t==a[j])
count++;
}
c[i]=count;
}
for(i=0;i<len;i++)
{
if(c[i]>max)
{
max=c[i];
t=a[i];
}
else if(c[i]==max)
{
if(t>a[i])
t=a[i];
}
}
printf("%c\n",t);
printf("%d",max);
}
0.0分
2 人评分
2004年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:466 |
C语言训练-素数问题 (C语言代码)浏览:998 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:1449 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:868 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:668 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:638 |
1908题解浏览:640 |
数对 (C语言代码)浏览:702 |
1014题解浏览:485 |
永远的丰碑 (C语言代码)浏览:525 |