直接上代码
#include<stdio.h>
int main()
{
int a[1000]={0},cpy[1000]={0},flag,temp;
int N,n,j,k,i,num=0;
//产生随机数的个数
scanf("%d",&N);
//第2行有N个用空格隔开的正整数,为所产生的随机数。
for(n=0;n<N;n++)
{
scanf("%d",&a[n]);
}
//先将所有的数字标记为无重复的数(即flag=1;)
for(n=0,k=0;n<N;n++)
{
flag=1;
for(i=n+1;i<N;i++)
{
//如果出现重复则改变标记
if(a[n]==a[i])
{
flag=0;
}
}
//发现一个无重复的数就将它放进新的数组里面
if(flag==1)
{
cpy[k]=a[n];
k++;
num++;
}
}
//对数组进行排序
for(n=0;n<num;n++)
{
//printf("%d ",cpy[n]);
for(i=n+1;i<num;i++)
{
if(cpy[n]>cpy[i])
{
temp=cpy[n];
cpy[n]=cpy[i];
cpy[i]=temp;
}
}
}
//输出去重后留下的数字的数量
printf("%d\n",num);
//输出去重排序后的数组
for(n=0;n<num;n++)
{
printf("%d ",cpy[n]);
}
return 0;
}