原题:把一个数组中的重复元素去掉。如a[12]={1,1,2,7,3,2,3,4,5,8,7,7},输出为:1,2,7,3,4,5,8
在csdn上查了一下,发现给出的方法都很复杂,对新手很不友好,于是写了一个比较简单的,源码如下:
#include<stdio.h>#define N 12int main(){int i,j,n=N,k;int num[N]={1,1,2,7,3,2,3,4,5,8,7,7};for(i=0;i<n-1;++i){for(j=i+1;j<n;++j)//从num[i]的下一位开始比较,直到最后一位if(num[i]==num[j])//如果数字重复{for(k=j;k<n-1;++k)//从num[j]开始,所有数字前移一位num[k]=num[k+1];--n; //数组长度-1--j;//因为有++j,所以这里先减一下,否则num[i]比较的是移动之后的下一位,会漏掉一个数}}for(i=0;i<n-1;++i)printf("%d,",num[i]);printf("%d",num[i]);return 0;}
希望对大家有所帮助,还有,新年快乐鸭!!!!
如果觉得《c语言删除数组中重复元素》对你有帮助,请点赞、收藏,并留下你的观点哦!