1つのデータのセットに1つの数字しか表示されません.他のすべての数字はペアで表示されます.この数字を見つけてください.


#include<stdio.h>
#include<stdlib.h>
int find_f(int arr[], int len)      //     
{
 int i, j, k;
 for (i = 0; i < len; i++)
 {
  k = 0;
  for (j = 0; j < len; j++)
  {
   if ((arr[i] & arr[j]) == arr[i])   //      ,k++
    k++;                          
  }
  if (k == 1) return (i);        //    (k=1),           ,        
 }
 return (len + 1);
}

int main()
{
 int arr[] = { 4, 6, 4, 5, 5, 3, 6 };    //     ,     
 int len = sizeof(arr) / sizeof(arr[0]),c;     //     
 c = find_f(arr, len);        //    
 if (c > len)             //         
  printf("          
");  else   printf("%d
",arr[c]);        //  system("pause");  return 0; }

本文はただ下で学习の过程の自分の考えを下にして、简単な机能を実现するしかなくて、まだプログラムの最适化を考虑していないかもしれなくて、大神が书いたコードとまだ一定の差があって、もしあの大神が问题を発见したら、ご指导を惜しまないでください、もしあなたは更に良い方法があるならば、分かち合って分かち合って、ありがとうございます!