c语言怎么判断两个数组中重复数字的个数?

就比如a[6]="-10 -9 -10 -8 -10 -9 -9"
b[6]="-10 -10 -9 -9 -9 -9 -9 "
输出 5

判断两个数组中重复数字的个数方法如下:#include <stdio.h>#include <stdlib.h>int main(){ int n; int *a; int i; scanf("%d", &n); a = (int *)malloc(sizeof(int) * n); for(i = 0; i < n; i ++) { scanf("%d", &a[i]); } for(i = 0; i < n - 1; i ++) { for(int j = 0; j < n - i - 1; j ++) { if(a[j] > a[j+1]) { int tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } } } int tmp = a[0]; int count = 1; for(i = 1; i < n; i ++) { if(tmp == a[i]) { count ++; } else { if(count > 1) { printf("数组共有%d个数字%d\n", count, a[i - 1]); } tmp = a[i]; count = 1; } } if(count > 1) { printf("数组共有%d个数字%d\n", count, a[i - 1]); } free(a); return 0;}追问

这个判断的是一个数组中的重复数字啊

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-26
你问题中输出5,是怎么来的?追问

a中第一个-10和b第一个-10. a中第二个-9和b中第三个-9 a中第三个-10和b中第二个-10
a中最后俩个-9和b中第四个第五个-9

追答

a[6]="-10 -9 -10 -8 -10 -9 -9"
b[6]="-10 -9 -10 -9 -9 -9 -9 "
数组是不是应该是这样的。。。
你的意思是不是a[0]=b[0]就算是一个重复。。。
不是我猜的这样的话,你说的我就理解不了了。。。