#include<stdio.h>
int GetNotDouble(int a[],int len)
{
int result=a[0];
for(int i=1;i<=len;i++)
{
result^=a[i];
}
return result;
}
int main()
{
int arr[]={1,3,4,5,7,3,1,5,2,7};
int num = GetNotDouble(arr,len);
int b = num>>1 & 0x01; //判断二进制数字第几位为1
for(int i=0;i<len;i++)
{
if((arr[i]>>1&0x01)==b)
{
arr1[k++]=arr[i];
}
else
{
arr2[t++]=arr[i];
}
}
int num1 = GetNotDouble(arr1,k-1);
int num2 = GetNotDouble(arr2,t-1);
printf("%d,%d",num1,num2);
return 0;
int GetNotDouble(int a[],int len)
{
int result=a[0];
for(int i=1;i<=len;i++)
{
result^=a[i];
}
return result;
}
int main()
{
int arr[]={1,3,4,5,7,3,1,5,2,7};
int arr1[100],arr2[100];
int k=0,t=0;
int num = GetNotDouble(arr,len);
int b = num>>1 & 0x01; //判断二进制数字第几位为1
for(int i=0;i<len;i++)
{
if((arr[i]>>1&0x01)==b)
{
arr1[k++]=arr[i];
}
else
{
arr2[t++]=arr[i];
}
}
int num1 = GetNotDouble(arr1,k-1);
int num2 = GetNotDouble(arr2,t-1);
printf("%d,%d",num1,num2);
return 0;