#include<stdio.h> int main() { void function(int * str, int size, int *p1, int *p2); int i = 0; int num1 = 0, num2 = 0; int arr[10] = {0}; int len = sizeof(arr) / sizeof(arr[0]); for (i = 0; i < len; i++) { scanf("%d", &arr[i]); } function(arr, len,&num1,&num2); printf("%d %d", num1, num2); printf("\n"); system("pause"); return 0; } void function(int * str, int size,int *p1,int *p2) { int i = 0,signal = 0,ret=0; for (i = 0; i < size; i++) { ret ^= str[i]; } for (i = 0; i < 8 * sizeof(int); i++) { if ((ret >> i) & 1 == 1) { signal = i; break; } } for (i = 0; i < size; i++) { if ((str[i] >> signal) & 1 == 1) *p1 ^= str[i]; else *p2 ^= str[i]; } }
一个数组中只有两个数是不同的,其他数字是成对出现的,下面代码可将该数组中不同的两数字找出并输出
原创
©著作权归作者所有:来自51CTO博客作者零点时光的原创作品,请联系作者获取转载授权,否则将追究法律责任
下一篇:使用冒泡排序多个字符串
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【ArkTS】鸿蒙开发 比较两个数的大小 用户界面输入两个数并输出较大数
【HarmonyOS】 鸿蒙开发 (比较两个值大小,输出较大值)在DevEco Studio中开发,用户界面输入两个值,比较两个值大小并输出较大值。主要是练习了对TextInput属性的应用。
鸿蒙开发 TextInput属性 用户界面输入 两个值比较大小 ArkTS -
一个数组中所有的数都是成对出现的只有一个或者两个数字是单独的,求这个数
一个数组中所有的数都是成对出现的只有一个或者两个数字是单独的,求这个数
一个数组中所有的数都是成对出现的只有一个