找两组数组中相同的数,输出


#include
int main()
{
    int m,n,i,j,t=0,count=0,cnt=0,k,temp;
    int a[100],b[100],c[100],d[100];
    
    scanf("%d",&n);
    for(i=0;i"%d",&a[i]);
    }
    
    scanf("%d",&m);
    for(i=0;i"%d",&b[i]);
    }
    
    for(i=0;ifor(j=0;jif(a[i]==b[j]){
                c[t]=a[i];
                t++;
            }
        }    
    }    
    
    
    for(i=0;ifor(i=0;ifor(j=0;jif(d[j]==c[i])
            break;
        }
        if(j==i){
            d[cnt]=c[i];
            cnt++;
        }
    }
    for(k=0;kfor(i=k+1;iif(d[i]>d[k]){
                temp=d[i];
                d[i]=d[k];
                d[k]=temp;
                
            }
        }
    }
    
    if(t>0){
        for(i=0;i"%d ",d[i]);
        }
    }
    
    else{
        printf("No Answer");
    }
    
    
    
    
    
    
    
    return 0;
}
有什么问题啊,可以帮我试试吗

咋这么夏杂?第三个for循环遇到相同的直接输出就行了
如果数组中有重复数,可以先去重



#include <stdio.h>
int main()
{
    int m, n, i, j, t = 0, count = 0, cnt = 0, k, temp;
    int a[100], b[100], c[100], d[100];

    scanf("%d", &n);
    for (i = 0; i < n; i++)
    {
        scanf("%d", &a[i]);
    }

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

    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            if (a[i] == b[j])
            {
                c[t] = a[i];
                t++;
            }
        }
    }

    if (t > 0)
    {
        for (i = 0; i < t; i++)
        {
            printf("%d ", c[i]);
        }
    }

    else
    {
        printf("No Answer");
    }

    return 0;
}

从18到25行不就已经把活都干完了吗,输出就行了,后面都是在弄啥咧