1.
//集合的差集程序实现
#include<stdio.h>
//降序排序数组
void sort( int a[],int n )
{
int i,j,k,temp;
for( i=0;i<n-1;i++ ){
k=i;
for( j=i+1;j<n;j++ ){
if( a[j]>a[k] ) k=j;
}
if( k!=i ){
temp=a[k];
a[k]=a[i];
a[i]=temp;
}
}
}
//计算差集,返回差集的长度
int chaji( int a[],int len_a,int b[],int len_b,int c[] )
{
int i=0,j=0,same,len_c=0;
//每次拿一个same与b数组进行比较,相同去其一
for( i=0;i<len_a;i++ ){
same=a[i];
//为防止b数组在第三个else if中重复赋值,我们就让不在第二个for内放 j的初始条件
for( ;j<len_b;j++ ){
if( same>b[j] ){ //same>b[j],因为我们先前已经对两个集合降序排序,故在之后必定没有与same相同的数
c[len_c]=same;
len_c++;
break;
}else if( same==b[j] ){ //same==b[j],找到了相同的数,直接跳过,继续下一次外循环
j++;
break;
}else if( same<b[j] ){ //same<b[j],则后面 还可能会有与same相同的数,把b[j]放入c[len_c],继续循环