在给定的数字列表中最经常出现的一个数值称为模式(mode)。例如,
对于5,1,5,7,6,5,7来说,其模式是5。注意:如果若干个不同的值都是最经常出现
的,它们中的任何一个都可以看作模式)
#include<stdio.h>
#define NR 100
int PresortMode(int *a,int n)
{
int i=0,maxlen=0,maxvalue,curvalue,curlen;
while(i<n)
{
curlen=1;
curvalue=a[i];
while((i+curlen)<n && a[i+curlen]==curvalue)
{
curlen++;
}
if(curlen>maxlen)
{
maxlen=curlen;
maxvalue=curvalue;
}
i+=curlen;
}
return maxvalue;
}
int main()
{
int a[NR],n,i;
printf("Please input the len of the array:");
scanf("%d",&n);
printf("Please input the value of the array:");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
printf("The modevale of the array is: %d", PresortMode(a,n));
return 0;
}