C/C++ 程序用于查找出现奇数次的数字?

cc++server side programmingprogramming

C++ 程序用于查找给定正整数数组中出现奇数次的数字。在此数组中,所有数字均出现偶数次。

输入:arr[] = {5, 7, 8, 8, 5, 8, 8, 7, 7}
输出:7

解释

使用两个循环,其中外循环逐一遍历所有元素,内循环计算外循环遍历的元素出现的次数。

示例

#include <iostream>
using namespace std;
int Odd(int arr[], int n){
   for (int i = 0; i < n; i++) {
      int ctr = 0;
      for (int j = 0; j < n; j++) {
         if (arr[i] == arr[j])
            ctr++;
      }
      if (ctr % 2 != 0)
         return arr[i];
   }
   return -1;
}
int main() {
   int arr[] = {5, 7, 8, 8, 5, 8, 8, 7, 7};
   int n = 9;
   cout <<Odd(arr, n);
   return 0;
}

相关文章