您的位置:首页 > 编程语言 > C语言/C++

【C语言】统计数组中出现次数超过一半的数字

2015-07-07 15:15 686 查看
//统计数组中出现次数超过一半的数字
#include <stdio.h>
int Find(int *arr, int len)
{
int num = 0;         //当前数字
int times = 0;          //当前数字出现的次数
int i = 0;
for (i = 0; i<len; i++)
{
if (times == 0)
{
num = arr[i];
times = 1;
}
else if (arr[i] == num)
times++;
else
times--;
}
return num;
}
int main()
{
int arr[] = { 1, 5, 5.2, 5, 4, 3, 5, 5, 5 };
printf("超过一半的数是:%d\n", Find(arr, sizeof(arr) / sizeof(arr[0])));
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: