21xrx.com
2025-01-12 11:21:34 Sunday
文章检索 我的文章 写文章
C语言求解数组众数
2023-06-14 21:52:48 深夜i     7     0
C语言 数组 众数 编程 算法

在C语言编程中,寻找数组的众数是一个常见的需求。众数是指在一个集合中出现次数最多的元素。如果我们想通过编程来寻找数组中的众数,我们可以使用下面的方法:

1. 定义一个数组并输入元素值

2. 遍历数组并统计每个元素出现的次数

3. 找到出现次数最多的元素

4. 输出众数

例如,我们可以使用如下的代码来实现:

#include 
#define MAX_SIZE 100
int main() {
  int arr[MAX_SIZE];
  int freq[MAX_SIZE];
  int n, i, j, max_freq, mode;
  printf("Enter the size of the array: ");
  scanf("%d", &n);
  printf("Enter the elements of the array: ");
  for (i = 0; i < n; i++) {
    scanf("%d", &arr[i]);
    freq[i] = -1;
  }
  for (i = 0; i < n; i++) {
    int 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;
    }
  }
  max_freq = freq[0];
  mode = arr[0];
  for (i = 0; i < n; i++) {
    if (freq[i] > max_freq) {
      max_freq = freq[i];
      mode = arr[i];
    }
  }
  printf("The mode of the array is: %d\n", mode);
  return 0;
}

上面的代码会要求用户输入一个数组并计算出数组的众数。首先,程序会询问用户数组的大小和元素值,然后使用两个for循环遍历数组并统计每个元素出现的次数。遍历完数组后,程序会找到出现次数最多的元素,并输出众数。

  
  

评论区