21xrx.com
2024-11-22 10:10:39 Friday
登录
文章检索 我的文章 写文章
C语言求解数组众数
2023-06-14 21:52:48 深夜i     --     --
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循环遍历数组并统计每个元素出现的次数。遍历完数组后,程序会找到出现次数最多的元素,并输出众数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复