1.找出数组中重复数字出现最多的数
#include <stdio.h>
int main()
{
int a[] = {1,2,6,6,6,4,5,1,5,8,6,5,5,4,1,1,5,5};
int len = sizeof(a)/sizeof(int);
char count[32767] = {0}; //存放下标数出现的次数
int temp;
int i;
int maxnum = 0;
for(i = 0; i < len; i++)
{
temp = a[i];
count[temp]++;
}
for(i = 0; i < 32767; i++) //寻找值最大数的下标
{
if(count[maxnum] < count[i])
{
maxnum = i;
}
}
printf("出现次数最多的数是:%d\n",maxnum);
return 0;
}
2.找出数组中只出现一次的数,其他数都是出现了俩次,找出只出现一次的那个数
#include <stdio.h>
int main()
{
int a[] = {1,2,3,4,2,3,1,5,6,6,4};
int len = sizeof(a)/sizeof(int);
int num = 0;
int i;
for(i = 0; i < len; i++)
{
num ^= a[i];
}
printf("只重复一次的数为:%d\n",num);
return 0;
}