异或:按位异或 相同为0,不同为1。
所以一个数与它自己异或一定为0,用这个想法实现这个问题。
#include<stdio.h>
int main()
{
int j = 0,k = 0,s = 0;
int arr[]={1,2,3,4,1,2,3};
int i=sizeof(arr)/sizeof(arr[0]);
for(j=0;j<i;j++)
{
s = 1;
for(k=0;k<i;k++)
{
if(k!=j)
{
s=s*(arr[j]^arr[k]);
}
}
if(s!=0)
{
printf("%d ",arr[j]);
}
}
return 0;
}