void main()
{
int a[100],b[100],m,n,i=0,j=0,k=0,p=0
printf("input a[],end of -1:\n")
scanf("%d",&a[0])
while(a[i]!=-1){
i++
scanf("%d",&a[i])
}
m=i
printf("input b[],end of -1:\n")
scanf("%d",&b[0])
while(b[j]!=-1){
j++
scanf("%d",&b[j])
}
n=j
for(j=0j<nj++){
for(i=0i<mi++){
if(a[i]==b[j])
p=1
}
if(p!=1){
a[m+k]=b[j]
k++
}
p=0
}
for(i=0i<m+ki++)
printf("%d ",a[i])
}
#include <stdio.h>#include <string.h>
int main(int argc, char* argv[])
{
char a[20],b[20]
int n,m,j,k
printf ("请输入第一个集合内容\n")
scanf ("%s",a)
j=strlen(a)
printf ("请输入第二个集合内容\n")
scanf ("%s",b)
k=strlen(b)
printf ("集合的交集是:") ///////////////////////计算2个数组的交集//////////////////// //flag标志位,index数组下标标志位 int flag=1, index=0 //c[20]保存交集的数组,d[40]保存并集的数组
char c[20]="",d[40]=""
for (n=0n<jn++)
{
for (m=0m<=km++)
{
if(a[n] == b[m])
{
c[index++] = a[n]
break
}
}
}
printf("\n%s\n",c) ////////////////////////////计算2个数组的并集/////////////////////// flag=1
index=0
for (n=0n<jn++)
{
for(m=0m<indexm++)
{
if(d[m] == a[n])
flag=0
}
if(flag)
{
d[index++]=a[n]
}
flag=1
}
flag=1
for (n=0n<jn++)
{
for(m=0m<indexm++)
{
if(d[m] == b[n])
flag=0
}
if(flag)
{
d[index++]=b[n]
}
flag=1
} printf ("集合的并集是:")
printf("\n%s\n",d)
return 0
}
有a、b 2个数组,把b中每个元素分别和a中每个元素比较,若无重复,则加入数组a。这样的话一个for语句,再加一个功能函数(也可以写在主函数中)就好。
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[])
{
char a[20],b[20]
int n,m,j,k
printf ("请输入第一个集合内容\n")
scanf ("%s",a)
j=strlen(a)
printf ("请输入第二个集合内容\n")
scanf ("%s",b)
k=strlen(b)
char c[20]="",d[40]=""
for (n=0n<jn++)
printf("\n%s\n",c)
index=0
for (n=0n<jn++)
{
for(m=0m<indexm++)
if(d[m] == a[n])
flag=0
d[index++]=b[n]
}
flag=1
} printf ("集合的并集是:")
printf("\n%s\n",d)
return 0
}
扩展资料:
集合中元素的数目称为集合的基数,集合A的基数记作card(A)。当其为有限大时,集合A称为有限集,反之则为无限集。一般的,把含有有限个元素的集合叫做有限集,含无限个元素的集合叫做无限集。
表示
假设有实数x <y:
①[x,y] :方括号表示包括边界,即表示x到y之间的数以及x和y;
②(x,y):小括号是不包括边界,即表示大于x、小于y的数。
参考资料来源:百度百科-集合