用c语言帮我实现众数问题
时间: 2024-05-01 19:18:47 浏览: 166
众数问题的C语言
5星 · 资源好评率100%
好的,众数问题可以通过C语言实现。众数指的是在一组数据中出现次数最多的数字。下面是一个简单的C语言程序可以实现众数问题:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main()
{
int arr[MAX_SIZE];
int freq[MAX_SIZE];
int n, i, j, count, mode;
printf("Enter the number of elements: ");
scanf("%d", &n);
printf("Enter %d elements: ", n);
for(i=0; i<n; i++)
{
scanf("%d", &arr[i]);
freq[i] = -1;
}
for(i=0; i<n; i++)
{
count = 1;
for(j=i+1; j<n; j++)
{
if(arr[i] == arr[j])
{
count++;
freq[j] = 0;
}
}
if(freq[i] != 0)
{
freq[i] = count;
}
}
mode = 0;
for(i=1; i<n; i++)
{
if(freq[i] > freq[mode])
{
mode = i;
}
}
printf("The mode of the given data is: %d\n", arr[mode]);
return 0;
}
```
该程序首先要求用户输入要处理的数据个数,然后依次输入这些数据。程序使用两个数组来记录每个数字出现的次数和状态,当一个数字被统计过之后,将其状态设置为0,以便后续统计时跳过。最后,程序遍历次数数组以找到出现次数最多的数字,即为众数。
阅读全文