C - 人见人爱A-B

这里写图片描述
这里写图片描述
题意就是输出B中没有的元素并按从小到大排序。

代码实现如下:

#include<stdio.h>
#include<string.h>
#include<stdbool.h>
void paixu(int a[105],int n);
int main()
{
    int n,m;
    int i,j;
    int a[105];
    int b[105];
    bool vis[105];
    while(~scanf("%d %d",&n,&m)&&(n&&m))
    {
        memset(vis,0,sizeof(vis));
        for(i=0; i<n; i++)
            scanf("%d",&a[i]);

        for(i=0; i<m; i++)
            scanf("%d",&b[i]);

        paixu(a,n);
        paixu(b,m);

        for( i=0; i<n; i++)
            for( j=0; j<m; j++)
                if(a[i]==b[j])  vis[i]=1;

        bool abc=1;
        for(i=0; i<n; i++)
        {
            if(!vis[i])
            {
                abc=0;
                break;
            }

        }
        if(abc)
            printf("NULL");

        for(i=0; i<n; i++)
        {
            if(!vis[i])
                printf("%d ",a[i]);
        }
        printf("\n");

    }
    return 0;
}

void paixu(int a[105],int n)
{
    int i,j,t;
    for(j=0; j<n-1; j++)
        for(i=0; i<n-1-j; i++)
            if(a[i]>a[i+1])
            {
                t=a[i];
                a[i]=a[i+1];
                a[i+1]=t;
            }
}

这道提交wr实在不知为什么但是思路是对的希望亲们指正一下


版权声明:本文为daima66699原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。