找出不是两个数组共有的元素

题目:

核心代码:
for (i = 0; i < na; i++) {
for (j = 0; j < nb; j++) {
if (a[i] == b[j]) {
break;
}
}
if (j == nb) {
c[k] = a[i];
k++;
}
}
for (i = 0; i < nb; i++) {
for (j = 0; j < na; j++) {
if (b[i] == a[j]) {
break;
}
}
if (j == na) {
c[k] = b[i];
k++;
}
}
printf("%d", c[0]);
for (i = 1; i < k; i++) {
for (j = 0; j < i; j++) {
if (c[i] == c[j]) {
break;
}
}
if (j == i) {
printf(" %d", c[i]);
}
}
流程图:

难点:寻找两个数组的不共有的数。
解决方法:运用for的嵌套循环分别对两个数组逐一判断。
1.先是以第一个数组的长度作为外循环的判断条件,以第二个数组的长度作为内循环的判断条件;
再判断外循环的值是否在内循环中找到相同的,如果有就跳出内循环,没有就执行完内循环为止;
再执行第二个判断,判断内循环的下标是否等于内循环的判断条件,如果等于就将外循环的值存入第三个数组。
2.将内外循环的判断条件交换,再执行一次1的循环。

posted @ 2019-12-16 00:03  梁烽祥  阅读(2183)  评论(0编辑  收藏  举报