回覆列表
  • 1 # 使用者834195712159

    程式碼示例:

    #include "stdio.h"

    main()

    {

    int i,j,m,n,count=0,temp=0,*a,*b,x;

    printf("分別輸入2個集合的大小");

    scanf("%d%d",&m,&n);

    if(m<n){temp=n,n=m,m=temp;} //為了判斷方便,將大的數變成a陣列的長度,小的為b陣列的長度

    a=(int *)malloc(sizeof(int)*m);

    b=(int *)malloc(sizeof(int)*n);

    for (i=0; i!=m; ++i)

    {scanf("%d",&x);

    a[i]=x; //輸入整數集合的時候不能有相同的數字,這個你要的話可以自己加個判斷

    }

    for (i=0; i!=n; ++i)

    {scanf("%d",&x);

    b[i]=x;

    }

    for(i=0;i<m;i++)

    for(j=0;j<n;j++)

    {

    if(a[i]==b[j])count++;

    }

    if(count==n){if(m>n){

    printf("b是a的真子集");}

    else

    printf("b是a的子集");

    if(count==n&&m==n)printf(",並且a等於b");

    }

    else

    printf("a和b相互不包含");

    }

  • 中秋節和大豐收的關聯?
  • 火箭勝籃網,保羅第二節暫停時開始講話,火箭全隊認真聽,卡佩拉稱“幫助很大”,對此你怎麼看?