#include<stdio.h> int main() { int a[100],b[100],c[100]; int i,j; int m=0,n=0; int k=0,x=0; printf("请输入数组A:\n"); for(i=0;i<=100;i++) { scanf("%d",&a[i]); if(a[i]<0) break; m++; } printf("请输入数组B:\n"); for(i=0;i<=100;i++) { scanf("%d",&b[i]); if(b[i]<0) break; n++; } printf("A,B交集:"); for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(a[i]==b[j]) { printf("%d ",a[i]); } } } printf("A,B并集: "); for(i=0;i<m;i++) { c[i]=a[i]; } }
解决方案
40
#include<stdio.h> int main() { int a[100],b[100],c[100]; int i,j; int m=0,n=0; int k=0,x=0; bool d; printf("请输入数组A:\n"); for(i=0;i<=100;i++) { scanf("%d",&a[i]); if(a[i]<0) break; m++; } printf("请输入数组B:\n"); for(i=0;i<=100;i++) { scanf("%d",&b[i]); if(b[i]<0) break; n++; } printf("A,B交集:"); for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(a[i]==b[j]) { printf("%d ",a[i]); } } } printf("A,B并集: "); for(i=0;i<m;i++) { printf("%d ",a[i]); } for(j=0;j<n;j++) { d = true; for(i=0;i<m;i++) { if (a[i] == b[j]) { d = false; break; } } if (d) printf("%d ",b[j]); } }