习题20150611.4

来源:互联网 发布:电气专业单词软件下载 编辑:程序博客网 时间:2024/05/18 12:42

删除一个数组中重复的元素。例如 1 ,2, 2,2,3,3,3,4,4,5,5,5,6,6,6 -> 1,2,3,4,5,6

#include<stdio.h>

#include<stdlib.h>
#include<time.h>
int cmp(const void*a,const void*b)
{return *(int*)a-*(int*)b;}
int delsame(int a[],int n,int b[])
{
int flag=0,i,count=0;
qsort(a,n,sizeof(int),cmp);
b[count]=a[0];
for(i=1;i<n;i++)
{
if(a[i]!=b[count])
b[++count]=a[i];
}
return count+1;
}
int main(void)
{
int a[100],b[100];
int i,count;
srand(time(0));
for(i=0;i<20;i++)
{
a[i]=rand()%20;
printf("%4d",a[i]);
}
printf("\n");
count=delsame(a,20,b);
for(i=0;i<count;i++)
{
printf("%4d",b[i]);
}
system("pause");
return 0;
}
0 0
原创粉丝点击