#求助!试了样例和自己找了几个例子都没问题,但就是过不了
查看原帖
#求助!试了样例和自己找了几个例子都没问题,但就是过不了
1054194
liao19820563716楼主2023/8/18 18:15
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int numb,n;
int *p;

scanf("%d",&numb);

p=(int*)malloc(numb*sizeof(int));

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

int m,a=numb;

for(n=0;n<numb;n++){
    if(p[n]>0){
        for(m=0;m<numb;m++){
            if(p[n]==p[m]&&n!=m){
                a--;
                
                p[m]=0-a;
            }
        }
    }
}

printf("%d\n",a);

int *q;

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

for(n=0,m=0;n<numb;n++){
    if(p[n]>0){
        q[m]=p[n];
        m++;
    }
}

free(p);

int mid;

for(n=0;n<a-1;n++){
    for(m=n+1;m<a;m++){
        if(q[n]>q[m]){
            mid=q[n];
            q[n]=q[m];
            q[m]=mid;
        }
    }
}

for(n=0;n<a;n++){
    printf("%d\t",q[n]);
}

free(q);

return 0;
}
2023/8/18 18:15
加载中...