去除数组中相同元素
问题:把整数数组中值相同的元素删除得只剩一个,并把剩余元素依次向前串。
要求:输入分为两行,第1行为数组长度,第2行是数组元素。
输出形式:去除数组中相同元素后的新数组。
示例1:
输入:5
1 2 3 1 4
输出:1 2 3 4
示例2:
输入:5
1 2 3 1 1
输出:1 2 3
代码展示:
#include<stdio.h>
int main()
{
int a[20];
int s[20];
int n,i,j,t,c=0,f=0;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n;i++)
{
t=0;
if(f==0) if(a[i]==0) {s[c]=a[i];c++;f=1;continue;}
for(j=0;j<20;j++)
if(a[i]==s[j]) t=1;
if(t==0) {s[c]=a[i];c++;}
}
if(c==0) j=n;
else j=c-1;
for(i=0;i<=j;i++)
printf("%d ",s[i]);
return 0;
}