#include<stdio.h>
void getNum1(int []);
void getNum2(int []);
void getNum3(int []);
void main() {
int a[]={1,2,3,4,5,6,7,8,9,10,4};
getNum1(a);
getNum2(a);
getNum3(a);
}
void getNum1(int a[]){
int sum=10*11/2;
int sumA = 0;
for(int i=0;i<11;i++) {
sumA=sumA+a[i];
}
printf("重复数字是%d\n",sumA-sum);
}
void getNum2(int a[]) {
int i,res = a[0];
for(i=1;i<11;i++) {
res = res^a[i];
}
for(i=1;i<=10;i++ ) {
res = res^i;
}
printf("重复数字是%d\n",res);
}
void getNum3(int a[]) {
int i,res[11]={0};
for(i=0;i<11;i++) {
if(res[a[i]]==0) {
res[a[i]]=res[a[i]]+1;
}else if(res[a[i]]==1){
printf("重复数字是%d\n",a[i]);
break;
}
}
}
原文:https://www.cnblogs.com/lick468/p/10641855.html