该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include "stdafx.h"
#include
#include void delete_same(int *a,int *len)
{
int i,j,k;
for(i=0;i
for(j=i+1;j
if(a[i] != a[j]) continue;/*如果没有找到相等的元素,则继续查找*/
for(k=j;k
a[k] = a[k+1];
}
--j; /*此处用自减的目的,举例说明 如1,2,2,3。当从2开始找时,找到下标为3的元素2,此时,下标为4的元素3该向前移动一位,即下标变为3,
继续下一次循环是该从当前位置开始查找,而不是当前位置的下一位开始查找,故此处减1*/
--(*len);
}
if(a[i] == a[*len-1]){/*如果该元素和最后一个元素相等,则直接长度减1*/
--(*len);
}
}
}
void main()
{
int *a;
int count;/*输入元素的个数*/
int len; /*数组的实际长度*/
int i;
printf("请输入要输入的元素的个数:");
scanf("%d",&count);
len = count;
a = (int*)malloc( sizeof(int)*count );
printf("请输入数组元素:\n");
for(i=0;i
scanf("%d",&a[i]);
}
delete_same(a,&len);
for(i=0;i
printf("%d ",a[i]);
}
getchar();
getchar();
}