程序功能:降序输出两组整数的交集A∩B。
(1)从键盘输入A和B两组整数,每组不超过20个整数,每组整数中的元素不重复,每组数据输入以-1结束。
(2)求两组整数的交集A∩B,即在两组整数中都出现的整数。
(3)若交集不为空,则按从大到小顺序输出;若交集为空,则什么都不输出。
#includeint main() { int i,j,temp,num,count2=0;//定义循环、临时变量、数值记录变量、计数器 int A[20]={0},B[20]={0},T[21]={1};//定义A、B、T三个数组并初始化 for(i=1;i<=20;i++)//给数组A依次赋值,值少于20个 {scanf("%d",&A[i]); T[i]=A[i]; if(A[i]==-1) {break;}}//检测到-1,停止输入 temp=i;//储存i的值 for(i=1;i<=20;i++){//筛选A数组的元素 for(j=1;j<=i;j++){ if(i==j||A[i]==0) continue;//如果遇到自身,则舍去 else {if(A[i]==T[j]) {printf("A组数字重复!n");return 0;}}}}//检测到除了自身外有其他数值和自身相等 for(j=1;j<=20-temp;j++)//给数组B依次赋值,值少于20-i个 {scanf("%d",&B[j]); T[j]=B[j]; if(B[j]==-1) break;} temp=j;//储存j的值 for(j=1;j<=20-temp;j++){//同理筛选B的元素 for(i=1;i<=j;i++){ if(j==i||B[j]==0) continue; else {if(B[j]==T[i]) {printf("B组数字重复!n");return 0;}}}} for(i=1;i<=10;i++)//判断是否为空集 {for(j=1;j<=10;j++) { if(A[i]==B[j])T[i]=A[i]; else count2++; }} if(count2==(10*10)){printf("n");return 0;}//是空集则什么也不输出 for(j=1;j<=(10-1);j++)//对T数组元素进行排序 {for(i=1;i<=(10-1)-j;i++) { if(T[i]



