作业帮 > 综合 > 作业

编写程序,实现两个集合的交运算(用C语言)

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 22:00:11
编写程序,实现两个集合的交运算(用C语言)
1、已知两个整数集合中的数据以递增次序分别存放在数组A,B中,编写程序实现两个集合的交运算(即取两个集合相同的数据元素),并把得到的交集数据存放在数组A中,在程序中不允许再定义第三个数组.
2、若有一下说明和语句:int c[4][5],(*cp)[5]; cp=c;下面对c数组元素正确的引用是()
A) cp+1 B) *(cp+3) C) *(cp+1)+3 D)*(*cp+2) (我最大的困惑是c数组是一个4行5列的数组,而cp指针应该指向一个元素为5的数组,那么cp指针赋给数组c,究竟是指向二维数组的列还是指向行)
#include<stdio.h>
#include<string.h>
int jiaoji(int A[],int B[],int a,int b)
{
\x05int i,j,t;
\x05t=a;
\x05for(i=0;i<a;i++)
\x05\x05for(j=0;j<b;j++)
\x05\x05{
\x05\x05\x05if(A[i]==B[j])
\x05\x05\x05{
\x05\x05\x05\x05A[t]=B[j];
\x05\x05\x05\x05t++;
\x05\x05\x05}
\x05\x05}
\x05\x05for(i=0;i<t-a;i++)
\x05\x05{
\x05\x05  A[i]=A[a+i];
\x05\x05}
\x05\x05return t-a;
}
int main ()

\x05int A[50],B[50],a,b,t;
\x05printf("请输入A的元素个数:\n");
\x05scanf("%d",&a);
\x05printf("请输入A的元素:\n");
\x05for(int i=0;i<a;i++)
\x05\x05scanf("%d",&A[i]);
\x05printf("请输入B的元素个数:\n");
\x05scanf("%d",&b);
\x05printf("请输入B的元素:\n");
\x05for(int i=0;i<b;i++)
\x05\x05scanf("%d",&B[i]);
\x05t=jiaoji(A,B,a,b);
\x05for(int i=0;i<t;i++)
\x05\x05printf("%d ",A[i]);
return 0;
}

再问: return t-a��return 0��ʲô��˼����
再问: return t-a��return 0��ʲô��˼����
再答: ��һ����return t-a�������A�в�֮���Ԫ�صĸ���
return 0 ����Ϊ�Ҷ������int  main()����
��Ҫ������ֵ��������void �Ͳ���Ҫ#include<stdio.h>
#include<string.h>
int jiaoji(int A[],int B[],int a,int b)
{
    int i,j,t;
    t=a;
    for(i=0;i<a;i++)
        for(j=0;j<b;j++)
        {
            if(A[i]==B[j])
            {
                A[t]=B[j];
                t++;
            }
        }
        for(i=0;i<t-a;i++)
        {
          A[i]=A[a+i];
        }
        return t-a;
}
void main ()

    int A[50],B[50],a,b,t;
    printf("������A��Ԫ�ظ���\n");
    scanf("%d",&a);
    printf("������A��Ԫ�أ�\n");
    for(int i=0;i<a;i++)
        scanf("%d",&A[i]);
    printf("������B��Ԫ�ظ���\n");
    scanf("%d",&b);
    printf("������B��Ԫ�أ�\n");
    for(int i=0;i<b;i++)
        scanf("%d",&B[i]);
    t=jiaoji(A,B,a,b);
    for(int i=0;i<t;i++)
        printf("%d ",A[i]);

}