首先,如果是数学上的集合概念,那就说明,集合A自身的每个元素都不相同。
那么,程序就可以简化成,
设数组key[52],用于记录字母出现次数。
扫描一次集合A,把出现的字母计到key的对应位置里。
同理扫描一次集合B。
查看key数组,>=2的对应字母输出到集合C,C就是所求交集。
char c[20]//存储交集的字符int count=0//统计交集个数for (n=1n<jn++)for (m=1m<=km++)
{
if(a[n]==b[m]) { c[count]=a[n]count++ }
}
} c[count]='\0'printf("交集为%s",c)