#include <stdio.h> //每找到一个重复的元素,则最末尾前移一位,去重范围缩小一位 //找到重复元素后,此时数组下标之后的元素向前移一位 main() { int a[]={1,1,1,1,2,2,2,2,2,3,4,5,5,6,7,7,8,8,8,9,9,10,10,12}; int len=sizeof(a)/sizeof(a[0]); int i,j,k,m=len; for(i=0;i<len;i++) { for(j=i+1;j<len;j++) if(a[i]==a[j]) { printf("%d %d\n",a[i],a[j]); for(k=j;k<len-1;k++) { a[k]=a[k+1]; } len--;//整个数组去重范围缩小 j--;//重置到上一次的去重起始位置 } } for(i=0;i<len-1;i++) printf("%d ",a[i]); printf("%d",a[i]); getchar(); }
标签:int,len,C语言,重复,整型,数组,sizeof,排序 From: https://www.cnblogs.com/xkdn/p/16797873.html