问题链接:HDU1563 Find your present!,HDU2095 find your present(2)。基础训练级的题,用C语言编写程序。
C语言中,异或运算符是“^”。因为a^a=0,那么要找出单独的数(唯一一个出现奇数次的数),只需要将所有的数进行异或运算即可。
AC的C语言程序如下:/* HDU1563 Find your present! */
#include <stdio.h>
int main(void)
{
int n, v, ans;
while(scanf("%d", &n) != EOF) {
// 判定结束条件
if(n == 0)
break;
// 读入数据并计算
ans = 0;
while(n--) {
scanf("%d", &v);
ans ^= v;
}
// 输出结果
printf("%d\n", ans);
}
return 0;
}