成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

找出字符串中出现次数最多的字符

Q1:求一个java小程序,查出一个字符串中出现次数最多的,并输出此字符

建议自己写否则看代码再认真也学不到东西
做一个数组容量为26,做一个方法读入string中的某字符,根据ASCII码计算出该字符是26个字母中的第几个,然后再在数组中找到相应的位置加一
最后做一个简单查找即可

Q2:js判断一个字符串中出现次数最多的字符,统计这个次数

var str=asdaa;
var obj={};
for(var i=0,l=str.length,k;i k=str.charAt(i);
if(obj[k]){
obj[k]++;
}else{
obj[k]=1;
}
}
var m=0;
var i=null;
for(var k in obj){
if(obj[k]>m){
m=obj[k];
i=k;
}
}
alert(i+:+m);

Q3:编程要求:从输入的字符串中找出出现次数最多和最少的关键字并输出

#include
#include
main()
{
//把关键字用一个二维数组存下
char keys[12][20]={"int\0","long\0","float\0","double\0","char\0","if\0","else\0","for\0","while\0","do\0","case\0","break\0"};
//记住输入字符串
char findstring[2000];
//定义记录数组,并全赋0
int keyCount[12]={0};
int i=0;
//接受输入
gets(findstring);
//循环从第一个查找到最后一个关键字
for (;i<12;i++)
{
char *t;//定义字符指针并让它指向输入字符串
t=findstring;
while(*t!=0)//如果没比较输入字符串最后一个
{
int ii=0;//设置比较下标
while(keys[i][ii]!=0)//如果没比较到当前关键字最后一个字符
{
if (keys[i][ii]==*(t+ii))
ii++;//如果一样比较下一个
else
break;//否则跳出比较
}
if (ii==strlen(keys[i]))
{
keyCount[i]++;//如果比较到当前关键字最后一个字符则让对应记录加1
}
t++;//接着从下一个输入字符比较
}
} for (i=0;i<12;i++)//循环输出结果
printf("%s:%d\n",keys[i],keyCount[i]); getch();
}

Q4:C语言查找字符串中出现次数最多的字符

#include
void main()
{ unsigned char str[256],*p=str; //防止出现ASCII码大于127时的负值字符导致对ch的寻址错误
int ch[256]={0},max,i;
scanf("%s",str);
while ( *p ) { ch[(*p)]++; p++; }
max=0; for ( i=1;i<256;i++ ) if ( ch[max]printf("出现次数最多的字符是:");
for ( i=0;i<256;i++ ) if ( ch[i]==ch[max]) printf("%c ",i); //适用多个字符都是出现次数最多情况
printf("\n");
}

猜你喜欢

更多