谁能给我解释一下这个c语言程序的步骤
#include<stdio.h>#defineN10intshuru(intarr[]);voidshuchu(intarr[],intm);voidjiaoji(in...
#include<stdio.h>
#define N 10
int shuru(int arr[]);
void shuchu(int arr[],int m);
void jiaoji(int a[],int m,int b[],int n);
void bingji(int a[],int m,int b[],int n);
void chaji(int a[],int m,int b[],int n);
int i=0,j=0;
int main()
{
int m,n,a[N],b[N];
printf("请输入集合a,以输入负数为结束:\n");
m=shuru(a);
printf("集合a:");
shuchu(a,m);
printf("请输入集合b,以输入负数为结束:\n");
n=shuru(b);
printf("集合b:");
shuchu(b,n);
jiaoji(a,m,b,n);
bingji(a,m,b,n);
chaji(a,m,b,n);
return 0;
}
int shuru(int arr[])
{
int i=0,len=0,m;
while(1)
{
scanf("%d",&m);
if(m>0)
{
if(len>0)
{
for(i=0;i<len;i++)
{
if(m==arr[i])
{
printf("已存在此元素!\n");
break;
}
if(i==len-1)
{
arr[len]=m;
len++;
break;
}
}
}
else
{
arr[len]=m;
len++;
}
}
else
break;
}
return len;
}
void shuchu(int arr[],int m)
{
for(i=0;i<m;i++)
{
printf("%3d",arr[i]);
}
printf("\n");
}
void jiaoji(int a[],int m,int b[],int n)
{
printf("\n交集:");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(a[i]==b[j])
{
printf("%3d",a[i]);
break;
}
}
}
}
void bingji(int a[],int m,int b[],int n)
{
printf("\n并集:");
if(m==0)
{
for(j=0;j<n;j++)
{
printf("%3d",b[j]);
}
}
else
{
for(i=0;i<m;i++)
{
printf("%3d",a[i]);
}
for(j=0;j<n;j++)
{
for(i=0;i<m;i++)
{
if(b[j]==a[i])
break;
if(i==m-1)
printf("%3d",b[j]);
}
}
}
}
void chaji(int a[],int m,int b[],int n)
{
printf("\n差集:");
if(n==0)
{
for(i=0;i<m;i++)
{
printf("%3d",a[i]);
}
printf("\n");
}
else
{
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(a[i]==b[j])
break;
if(j==n-1)
printf("%3d",a[i]);
}
}
}
printf("\n");
}
输入那个函数的循环看不懂,len是什么啊。还有后面的并集交集差集原理是什么 展开
#define N 10
int shuru(int arr[]);
void shuchu(int arr[],int m);
void jiaoji(int a[],int m,int b[],int n);
void bingji(int a[],int m,int b[],int n);
void chaji(int a[],int m,int b[],int n);
int i=0,j=0;
int main()
{
int m,n,a[N],b[N];
printf("请输入集合a,以输入负数为结束:\n");
m=shuru(a);
printf("集合a:");
shuchu(a,m);
printf("请输入集合b,以输入负数为结束:\n");
n=shuru(b);
printf("集合b:");
shuchu(b,n);
jiaoji(a,m,b,n);
bingji(a,m,b,n);
chaji(a,m,b,n);
return 0;
}
int shuru(int arr[])
{
int i=0,len=0,m;
while(1)
{
scanf("%d",&m);
if(m>0)
{
if(len>0)
{
for(i=0;i<len;i++)
{
if(m==arr[i])
{
printf("已存在此元素!\n");
break;
}
if(i==len-1)
{
arr[len]=m;
len++;
break;
}
}
}
else
{
arr[len]=m;
len++;
}
}
else
break;
}
return len;
}
void shuchu(int arr[],int m)
{
for(i=0;i<m;i++)
{
printf("%3d",arr[i]);
}
printf("\n");
}
void jiaoji(int a[],int m,int b[],int n)
{
printf("\n交集:");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(a[i]==b[j])
{
printf("%3d",a[i]);
break;
}
}
}
}
void bingji(int a[],int m,int b[],int n)
{
printf("\n并集:");
if(m==0)
{
for(j=0;j<n;j++)
{
printf("%3d",b[j]);
}
}
else
{
for(i=0;i<m;i++)
{
printf("%3d",a[i]);
}
for(j=0;j<n;j++)
{
for(i=0;i<m;i++)
{
if(b[j]==a[i])
break;
if(i==m-1)
printf("%3d",b[j]);
}
}
}
}
void chaji(int a[],int m,int b[],int n)
{
printf("\n差集:");
if(n==0)
{
for(i=0;i<m;i++)
{
printf("%3d",a[i]);
}
printf("\n");
}
else
{
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(a[i]==b[j])
break;
if(j==n-1)
printf("%3d",a[i]);
}
}
}
printf("\n");
}
输入那个函数的循环看不懂,len是什么啊。还有后面的并集交集差集原理是什么 展开
1个回答
2016-09-24
展开全部
步骤只看主函数就是了
————————
————————
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询