为了账号安全,请及时绑定邮箱和手机立即绑定

现有一个非减序排序的一维数组,其中有若干元素是重复的。编程将重复元素删除掉若干个,仅保留1个,使数组中没有重复元素。问题大概这样,谁能帮我把代码做一下注释啊?十分感谢。

#include <stdio.h>
#include <stdlib.h>
void PX(int a[],int m)
{
    int i,j,p,t;
    for(i=0;i<m-1;i++)
    {
        p=i;
        for(j=i+1;j<m;j++)
        {
            if(a[j]<a[p])
                p=j;
        }
        if(p!=i)
        {
            t=a[p];
            a[p]=a[i];
            a[i]=t;
        }
    }
}

int main()
{
    int i,m,n,a,b,c[1000],j,k;
    scanf("%d",&m);
    while(m--)
    {
        j=0;
        scanf("%d%d",&n,&a);
        b=a;
        c[j]=a;
        j++;
        for(i=1;i<n;i++)
        {
            scanf("%d",&a);
            if(a!=b)
            {
                c[j]=a;
                j++;
                b=a;
            }
        }
        PX(c,j);
        k=1;
        for(i=0;i<j;i++)
        {
            if(k==1)
            {
              printf("%d",c[i]);
              k--;
            }
          else printf(" %d",c[i]);
          if(i==j-1)printf("\n");
        }

    }
    return 0;
}


正在回答

举报

0/150
提交
取消

现有一个非减序排序的一维数组,其中有若干元素是重复的。编程将重复元素删除掉若干个,仅保留1个,使数组中没有重复元素。问题大概这样,谁能帮我把代码做一下注释啊?十分感谢。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信