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