如何比对数组内的数字?

今天考国二,有一道程序设计题,比如有个数组a[10]={1996,2007,2259,5486,6067,963,955,103,6809,5797}
统计数组里有相同的数字的数比如1996,955,5979……总共是6个,我想知道咋对比数组里的数字呢?我觉得得用if语句但是表达式要咋写呢?

这…… 用 if 语句恐怕是不太够吧。
还是需要多写几行的吧
1.要遍历每一个数
2.要获取当前数的长度
3.要对当前数一位一位进行比较

int main()
{
    int a[10] = { 1996,2007,2259,5486,6067,963,955,103,6809,5797 };
    int count = 0;
    int length = 0;

    for (int index = 0; index < 10; index++) {
        //获取当前数的长度
        for (int i = 1;; i++) {
            if (a[index] / (int)pow(10,i) == 0) {    
                length = i;
                break;
            }
        }
        
        
        bool veryGood = false;
        int tmp = 0;
        //然后对当前数一位一位进行比较
        for (int i = 1; i < length; i++) {
            tmp = a[index] / 10;
            for (int j = i; j < length; j++) {
                if (a[index] % 10 == tmp % 10) {
                    veryGood = true;
                    break;
                }
                tmp /= 10;
            }
            //如果有相同数字就计数加1
            if (veryGood) {
                count++;
                break;
            }
            a[index] /= 10;
        }
    }

    printf("%d\n", count);
    
    return 0;
}

第一种,2个for循环判断,第二种用2个数组,存储数字和出现频数,最后遍历频数数组

暴力求解:
把数组每个元素的各个位分别拆开,然后再对比各个位的数字就行了