#include
#include
int a[50],b[50],c[50],e[50];
int i,j,m,n,k,q,p,o;
void input()
{
printf("Enter a number.\n");
scanf("%d",&m);
for(i=0;i<m;i++)
{
printf("enter number of A :\n");
scanf("%d",&a[i]);
for(j=0;j<i;j++)
if(a[i]==a[j]){
printf("error!\n");
printf("enter number of A :\n");
for(i=0;i<m;i++)
scanf("%d",&a[i]);
}
}
printf("Enter a number.\n");
scanf("%d",&m);
for(i=0;i<m;i++)
{
printf("enter number of B :\n");
scanf("%d",&b[i]);
for(j=0;j<i;j++)
if(b[i]==b[j]){
printf("error!\n");
printf("enter number of B :\n");
for(i=0;i<m;i++)
scanf("%d",&b[i]);
}
}
printf("Enter a number.\n");
scanf("%d",&m);
for(i=0;i<m;i++)
{
printf("enter number of E :\n");
scanf("%d",&e[i]);
for(j=0;j<i;j++)
if(e[i]==e[j]){
printf("error!\n");
printf("enter number of E :\n");
for(i=0;i<m;i++)
scanf("%d",&e[i]);
}
}
}
void jiao()
{
k=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
{
if(a[i]==b[j])
c[k++]=a[i];
}
p=k;
printf("交集为:\n");
for(k=0;k<p;k++)
printf("%d",c[k]);
printf("\n");
}
void bing()
{
k=0;
for(q=0;q<p;q++)
c[q]=0;
for(i=0;i<m;i++)
{
c[k]=a[i];
k++;
}
for(i=0;i<n;i++)
for(j=0;j<k;j++)
{
if(b[i]==c[j])
break;
if(j==k-1)
{
c[k]=b[i];
k++;
}
}
p=k;
printf("并集为: \n");
for(k=0;k<p;k++)
printf("%d",c[k]);
printf("\n");
}
void cha()
{
k=0;
for(q=0;q<p;q++)
c[q]=0;
for(j=0;j<m;j++)
for(i=0;i<n;i++)
{
if(a[j]==b[i])
break;
if(j==n-1)
{
c[k]=a[i];
k++;
}
}
p=k;
printf("差集为: \n");
for(k=0;k<p;k++)
printf("%d",c[k]);
printf("\n");
}
void bu()
{
k=0;
for(q=0;q<p;q++)
c[q]=0;
for(i=0;i<o;i++)
for(j=0;j<m;j++)
{
if(e[i]==a[j])
break;
if(j==m-1)
{
c[k]=e[i];
k++;
}
}
p=k;
printf("补集为: \n");
for(k=0;k<p;k++)
printf("%d",c[k]);
printf("\n");
}
int main()
{
input();
jiao();
bing();
cha();
bu();
return 0;
}
是不是因为输入函数的数据没有在其他函数中体现,如果是的话要从哪方面改呢