#找出数组中重复的元素
-
异或法
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
int N=11;//11个数里面找出重复的值
int a[N];
//先给前10个值赋值1-10
for(int i=0;i<N-1;i++){
a[i]=i+1;
}
//给第11个值赋值
int j;
srand(time(0));
a[10] =rand()%10+1;
int x1=0;//0异或其他数等于其他数本身
// 整个数列异或
for(int i=0;i<N;i++){
x1 =(x1^a[i]);
}
//异或 1-10
for(int i=0;i<N-1;i++){
x1 = x1^a[i];
}
//输出数列
for(int i=0;i<11;i++){
printf("%d",a[i]);
printf(" ");}
printf(“重复的数为%d”,x1);
return 0;
}
2. 利用其他数组
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int b[11]; // 清零数组 memset(a,0,sezeof(a));
int main()