- 对于有序顺序表,去除重复数据,如1 2 3 3 4 4 5 —> 1 2 3 4 5
#include<stdio.h>
#include<stdlib.h>
void entera(int *p)
{
printf("请输入有序数组!\n");
int i=0,m;
for(i=0;i<7;i++)
{
scanf("%d",&m);
*(p+i)=m;
}
}
int deleta(int *p)
{
int i=0,j,m;
do{
j=*(p+i);
if(j==*(p+i+1))
{
{for(m=i;m<6;m++)
{
*(p+m)=*(p+m+1);
}
*(p+6)='\0';}
}
i++;
}while(*(p+i)!='\0');
return i;
}
void print(int i,int *p)
{
int j;
for(j=0;j<i;j++)
{
printf("%d ",*(p+j));
}
}
int main()
{
int i;
int a[7];
entera(a);
i=deleta(a);
print(i,a);
return 0;
}