#include<stdio.h>#include<stdlib.h>intFindOneSingleDog(int arr[],int size){
int Dog = arr[0];for(int i =0; i < size; i++){
Dog = Dog ^ arr[i];}return Dog;}intFindTwoSingleDog(int arr[],int size,int* Dog1,int* Dog2){
int rst = arr[0];int leftPos =0;for(int i =1; i < size; i++){
rst = rst ^ arr[i];}for(leftPos =0; leftPos <32; leftPos++){
if((rst &(1<< leftPos))==1){
break;}}*Dog1 =0;*Dog2 =0;for(int i =0; i < size; i++){
if((arr[i]&(1<< leftPos))==1){
*Dog1 =*Dog1 ^ arr[i];}else{
*Dog2 =*Dog2 ^ arr[i];}}return0;}intmain(){
int arr1[]={
1,2,3,3,2,1,4};int size1 =sizeof(arr1)/sizeof(arr1[0]);int Dog{
};int arr2[]={
1,1,2,2,3,3,4,5};int size2 =sizeof(arr2)/sizeof(arr2[0]);int Dog1{
}, Dog2{
};
Dog =FindOneSingleDog(arr1, size1);printf("The One Single Dog Is: %d.\n", Dog);FindTwoSingleDog(arr2, size2,&Dog1,&Dog2);printf("The Two Single Dog Is: %d And %d.\n", Dog1, Dog2);system("pause");return0;}