华为机试训练第三道提明明的随机数,牛客网编译器有问题吗?

明明的随机数我用code::blocks编译都对,为什么到牛客网去运行就说为空,搞不懂,这道题是华为机试在线训练的第三道。求指点是牛客网编译器问题还是我code::blocks问题。输入输出格式是没问题的。

#include <stdio.h>

int o;

int *selectsort(int *p,int n){
    int temp,min,i,j;
    for(i=0;i<n-1;i++){
        min=i;
        for(j=i+1;j<n;j++){
            if(p[min]>p[j])
                min=j;
        }
        if(min!=i){
            temp=p[min];
            p[min]=p[i];
            p[i]=temp;
        }
    }
    return p;
}

int *quchong(int *p,int n){
    int i,j,a=0,temp;
    int m[1000];
    for(i=0;i<n;i++){
        temp=p[i];
        for(j=i+1;j<n;j++){
            if(temp==p[j]&&p[j]!=0){
                p[j]=0;
            }
        }
        if(p[i]!=0){
            m[a]=temp;
            a++;
        }
    }
    o=a;
    p=m;
    return p;
}

int main(){
    int *q,*p,i,j,m[1000],n;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&m[i]);
    }
    p=quchong(m,n);
    q=selectsort(p,o);
    for(j=0;j<o;j++){
        printf("%d\n",q[j]);
    }
}

#华为#
全部评论
没考虑多个测试用例问题吧,看下别人通过的代码
点赞 回复 分享
发布于 2018-07-30 11:26
我觉得这样的写法更简单:   public static void getRandomNum() {         Scanner in = new Scanner(System.in);         while (in.hasNext()) {             int input = in.nextInt();             List list = new ArrayList();             for (int i = 0; i < input; i++) {                 list.add(in.nextInt());             }             List collect = (List) list.stream().distinct().sorted().collect(Collectors.toList());             for (int j = 0; j < collect.size(); j++) {                 System.out.println(collect.get(j));             }         }     }
点赞 回复 分享
发布于 2022-02-27 11:56

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务