C語言模式程式

2019-10-16 22:09:07

在統計數學中,模式是指出現次數最高的值。

例如 - 假設一組值為3,5,2,7,3。該值集合的模式為3(因為3出現了兩次),它比任何其他數位都多。

程式碼實現

該演算法的實現程式如下 -

#include <stdio.h>

int mode(int a[],int n) {
   int maxValue = 0, maxCount = 0, i, j;

   for (i = 0; i < n; ++i) {
      int count = 0;

      for (j = 0; j < n; ++j) {
         if (a[j] == a[i])
         ++count;
      }

      if (count > maxCount) {
         maxCount = count;
         maxValue = a[i];
      }
   }

   return maxValue;
}

int main() {
   int n = 5;
   int a[] = {0,6,7,2,7};

   printf("Mode = %d ", mode(a,n));

   return 0;
}

執行上面範例程式碼,得到以下結果 -

Mode = 7