Code:
#include <stdio.h>
int main(void) {
int n1, a[25], n2, b[25], i, j, c[20];
int flag, n = 0;
scanf("%d", &n1); //输入第一个数组。
for ( i=0; i<n1; i++ )
scanf("%d", &a[i]);
scanf("%d", &n2); //输入第二个数组。
for ( i=0; i<n2; i++ )
scanf("%d", &b[i]);
for ( i=0; i<n1; i++ ) { //把第一个数组有,第二个没有的元素,存在c[]中。
flag = 0;
for ( j=0; j<n2; j++ ) {
if ( a[i] == b[j] )
flag = 1;
}
if ( flag == 0 )
c[n++] = a[i];
}
for ( i=0; i<n2; i++ ) { //把第二个数组有,第一个没有的元素,存在c[]中。
flag = 0;
for ( j=0; j<n1; j++ ) {
if ( b[i] == a[j] )
flag = 1;
}
if ( flag == 0 )
c[n++] = b[i];
}
// for ( i=0; i<n; i++ ) //检测一下c[]中的元素。
// printf("%d ", c[i]);
// printf("\n");
// 3 3 5 -15 6 4 6 1 //3 3 5 -15是第一个数组有的,6 4 6 1是第二个数组有的。
printf("%d", c[0]); //为了最后没有空格,先输出第一个数。
for ( i=1; i<n; i++ ) { //从c[1]开始进行对比。
for ( j=0; j<i; j++ ) { //限制条件到i,因为如果超过i,那下边的break就一定会执行。
if ( c[i] == c[j] )
break;
}
if ( j == i ) //说明目前的数和已经输出的数,没有重复。
printf(" %d", c[i]);
}
return 0;
}