題目:
核心代碼:
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的循環。