2301_77065359 2023-05-08 09:32 采纳率: 86.7%
浏览 22
已结题

c语言编写中有关函数数值查找的疑惑

请问如何用函数查找没有成对出现的数值?
如何确定其没有成对出现?
比如以下实例
假设一个整型数组中,有9个元素。这些元素中,有4个数值是成对出现的(位置随机),有1个数值没有成对出现。

例如:{ 2, 5, 4, 5, 9, 2, 4, 8, 9 } 中,数值8仅出现了一次,而其他数值出现了2次。

请用文字描述一个算法,可以将符合此条件的数组中仅出现1次的数值找出来。

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-05-08 09:36
    关注
    #include <stdio.h>
    
    int main() {
        int arr[] = {2, 5, 4, 5, 9, 2, 4, 8, 9};
        int n = sizeof(arr) / sizeof(arr[0]);
        int res = 0;
        
        for (int i = 0; i < n; i++) {
            res ^= arr[i];
        }
        
        printf("仅出现一次的数值为:%d\n", res);
        
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月16日
  • 已采纳回答 5月16日
  • 创建了问题 5月8日