🎉️ 程序设计-寻找重复数字

有一个长度为n的数列,有且仅有一个数重复出现了1次。

请你把这个数找出来。

输入格式
第1行有一个整数n表示数列的长度(n≤100)

第2行有n个整数,整数之间用空格隔开,表示这个数列中的每个数。

输出格式
输出重复出现的那个数。

输入样例
5
1 2 3 2 4
输出样例
2

回答如下:DevC++编写,实现找到重复的数,代码如下:

#include<iostream>
using namespace std;

int main()                       //找到重复的数,由于题目原因,保证每次输入中,只会有一个数出现两次(也就是重复出现一次) 
{
    int n;
    cout<<"欢迎来到找重复数游戏"<<endl;
    cout<<"请输入数的个数:";
    cin>>n;
    int A[n];
    cout<<"请依次输入每个数:"<<endl;
    for(int i=0;i<n;i++)
    {
        cin>>A[i];
    }
    int B[n];
    for(int i=0;i<n;i++)          //数组复制
    {
        B[i]=A[i];
    }                              
    int number[n];
    for(int i=0;i<n;i++)                  //两个一样的数组,其中一个数在另一个数组里面肯定会找到相同的一个数,而重复的数,会找到两次 
    {
        number[i]=0;
        for(int j=0;j<n;j++)
        {
            if(A[i]==B[j])
            {
                number[i]+=1;
            }
        }            
    }
    for(int i=0;i<n;i++)          
    {
        if(number[i]==2)
        {
            cout<<"重复的数为:"<<A[i]<<endl;
            break;
        }
        else
        {
            continue;
        }
    }     
    return 0;   
}

仅供参考,应该没问题的

穷举遍历就是了,双循环搞定

方法一:排序,再统计次数
方法二:通过标志变量初始为1,向后走判断是否和旧值相同,同变量+1,不同减1,如果为0,就变量重新置为1,重新判断