题解 | #明明的随机数#

明明的随机数

https://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0

#include <stdio.h>
#define NUM 1000

int main() {
    int N ;//记录输入随机数的个数
    int b;//存输入的随机数
    int a[NUM]={};
    scanf("%d", &N);//读数
    scanf("%d",&b);
    a[0]=b;//存入第一个随机数
    int flag;
    int i,j,temp;
    int n=1;//存入a数组中不重复的个数

    for(i=1;i<N;i++)
    {
        flag=1;
        scanf("%d",&b);

            for(j=0;j<n;j++)
            {
                if(b==a[j])
                {
                   flag=0;
                   break;
                }
            }
        if(flag==1)
        {
            a[n]=b;
            n++;
        }     
    }
    for(i=0;i<n;i++)
    {
        for(j=i;j<n;j++)
        {
            if(a[i]>a[j])
            {
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }
   for(i=0;i<n;i++)
   {
    printf("%d\n",a[i]);
   }

return 0;
}

主要思路:没输入一个与前面的对比是否重复,不重复才保存,最终将保存得到的非重复数组进行冒泡排序

比较简单的处理方法

待学习哈希法和快速排序

全部评论
3ms, 432kb
点赞 回复 分享
发布于 2023-11-24 17:23 北京

相关推荐

醉蟀:你是我今年见过的最美牛客女孩
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务