伪代码如下
void main()
{
int a[10];
int b[10];
输入a和b的值
调用子函数
switch (子函数)
{
case 返回值:
``` ```
}
}
写个子函数
int compare(int a[], int b[])
{
int count = 0;//用于存储a和b相等元素个数
int flag = 0;//用于判断是否有不等元素
int i, j;
for(i = 0; i < sizeof(a) / sizeof(a[0]); i++)
{
for(j = 0; j < sizeof(a) / sizeof(a[0]); j++)
{
if(b[j] == a[i])
{
count++;
break;
}
}
//此时已遍历到b[]的末尾,没有与a[i]相等的元素
if(b[j] != a[i] && count != sizeof(b) / sizeof(b[0]))
flag = 1;
}
if(count == 10)
return 1; //元素全等
/*包含和交集的区别在于两数组间是否有不同的元素*/
if(count != 10 && count != 0)
{
if(flag == 0)
return 2; //元素不全相等,且没有不相等的元素,为包含
else
return 3; //交集
}
if(count == 0)
return 4; //没相等元素,无交集
}