- 第一种方法:使用一维数组在数组中删除数,后面的数要依次向前移动
#include <stdio.h>
int a(int b[],int n);
void inout(int a[],int n);
void inout(int a[],int n)
{
int i;
for(i=0;i<n;i++)
printf("%d\n",a[i]);
}
int a(int b[],int n)
{
//第一种方法:使用一维数组在数组中删除数,后面的数要依次向前移动
int i,j,k;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(b[i]==b[j])
{
--n;
for(k=j;k<n-1;k++)
{
b[k]=b[k+1];
}
}
}
}
return n;
}
int main()
{
int i;
int n;
int b[100]={1,2,4,3,5,6,3,8,8,4};
n=10;
n=a(b,n);
inout(b,n);
printf("%d\n",n);
}
- 第二种方法:把这一个数组转移到另一个数组中,在转移过程中如果有相同的就不插入
#include <stdio.h>
#include <string.h>
int main()
{
int i;
int n;
int b[100]={1,2