55 删除数组重复元素
作者: Turbo时间限制: 1S章节: 一维数组
问题描述 :
已有一维数组,存储不超过100个整型数据,其中有些元素的值存在重复,从数组中删除所有重复的元素(每个元素只保留一个),并输出结果数组。
输入说明 :
用户可输入多组数据,每组数据由两行组成:
第一行:数组元素的个数n
第二行:n个数组元素,由空格分隔
输出说明 :
对于每组输入,输出最后的结果,整数之间以空格分隔。每行的开头与结尾无多余空格。
每组输出占一行。
输入范例 :
10
1 5 4 3 2 9 7 8 6 10
10
1 5 5 3 2 9 7 8 6 10
输出范例 :
1 5 4 3 2 9 7 8 6 10
1 5 3 2 9 7 8 6 10
#include <stdio.h>
#include <stdlib.h>
int judge(int *b,int count,int num)//判断是否为唯一数
{
for(int j=0;j<count;j++)
if(num==b[j])
return 0;
return 1;
}
int main()
{
int n;
while( scanf("%d",&n) != EOF )
{
int *a=(int *)malloc( sizeof(int)*n );//存储输入的数组
int *b=(int *)malloc( sizeof(int)*n );//存储处理后的数组
int count=0;
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
if(count==0)
b[count++]=a[i];
else if( judge(b,count,a[i])==1 )
b[count++]=a[i];
}
for(int k=0;k<count;k++)
{
if(k==0)
printf("%d",b[k]);
else
printf(" %d",b[k]);
}
printf("\n");
}
return 0;
}