关于#c语言#的问题:题目保证只有一个数字出现过一次

现给你一组数(11 13 16 19 33 19 13 11 16 21 33 58 21 58 67),要求你找出其中只出现过一次的那个数。题目保证只有一个数字出现过一次,并且除了只出现一次的那个数字外,其余的数字均出现了偶数次


#include<stdio.h>
//用的最简单的遍历,你想简单一些的话可以用
//循环记录,就是有相同的我们就记录下来,下一次循环的时候,我们不循环这个 
int main()
{
  int a[]={11,13,16,19,33,19,13,11,16,21,33,58,21,58,67};
  int count;
  for(int i=0;i<15;i++)
  {
      count=-2;
      for(int j=0;j<15;j++)
      {
          if(a[i]==a[j]&& i!=j)
        count=-1;
    }
    if(count==-2)
    {
        printf("这个数字是%d",a[i]);
        return 0; 
    }
  }
  
 } 

img

用一个数组,双重循环判断即可
你题目的解答代码如下:

#include <stdio.h>

int main()
{
    int a[] = {11,13,16,19,33,19,13,11,16,21,33,58,21,58,67};
    int i,j,c;
    int len=sizeof(a)/sizeof(a[0]);
    for (i = 0; i < len; i++){
        c = 1;
        for (j = 0; j < len; j++){
            if(i!=j && a[i]==a[j]){
                c = 0;
                break;
            }
        }
        if(c==1){
            printf("%d",a[i]);
            break;
        }
    }
    return 0;
}

img

如有帮助,望采纳!谢谢!