數組中,一個數出現一次,其餘的數都出現2次,找出那個出現一次的數

 要求如題所示。示例源代碼如下所示

#include <stdio.h>
#include <stdlib.h>
int Findsigle(int a[],int n);
int buff[21]={1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11};
int main(void)
{
        int result=0;
        result=Findsigle(buff,21);
        printf("%d \n",result);


}
int Findsigle(int a[],int n)
{
  int ret=0;
  int i=0;
  for(i=0;i<n;++i)//0和任何數異或等於它本身,相同的數異或後爲0
    ret^=a[i];
   return ret;
}

編譯後,終端打印出11.符合要求。

点赞