题解 | #明明的随机数#
明明的随机数
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; }
主要思路:没输入一个与前面的对比是否重复,不重复才保存,最终将保存得到的非重复数组进行冒泡排序
比较简单的处理方法
待学习哈希法和快速排序