在一连串的随机数组中,for循环怎么算出数组出现次数最多的数

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:21:50
急需高手解答,谢啦,因为你是独一无二的解决此问题者。

#include<iostream.h>
#include<string.h>

void main()
{
int i,j,t,strl,coun[100]={0},MAX=0;
char a[100];
cout<<"输入一个字符串:"<<endl;
cin>>a;
strl=strlen(a);
for(i=0;a[i]!='\0';i++)
{
for(j=i;j<strl;j++)
{
if(a[j]==a[i])//虽然会有重复计数,但是结果是正确的。
coun[i]++;
}
if(coun[i]>MAX){MAX=coun[i];t=i;}
}
cout<<"共有字符"<<strl<<"个。"<<endl;
cout<<"出现次数最多的字符是:"<<a[t]<<"。出现次数是:"<<coun[t]<<endl;
//其实还可能有和这个字符一样多的。
for(j=0;coun[j]!=0;j++)
if(coun[t]==coun[j]&&t!=j)
cout<<"还有:"<<a[j]<<"。出现次数是:"<<coun[j]<<endl;
}