重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
建议你先排序,再去重。这样检查后一个元素与前一个元素相同则删除,否则留着,多简单!~
为武城等地区用户提供了全套网页设计制作服务,及武城网站建设行业解决方案。主营业务为网站制作、成都网站制作、武城网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
分都不给啊,所以给你思路吧。首先,你要先进行排序,用选择排序就行。然后用一层外循环,控制从第一个数到最后一个数进行循环,此条件与num有关的。
里面还有一层循环,条件是a[i]==a[i+1]且i<n,n为数据个数,用来比较当前项和下一项是否相等,用num计数,num是数列里某一段的相等数,如1112,num就为2,用num控制向左移的次数。也就是比较一下,然后向左移数列。就可以了。
肯定思路正确,你要是给个30分还想写,自己想想吧。我用iPad打字够辛苦了,希望采纳。
#includestdio.h
int main(){
int a[10];
for(int i=0;i10;i++){
scanf("%d",a[i]);
}
/*冒泡升序*/
for(int i=0; i10-1; i++){
for(int j=0; j10-1-i; j++){
if(a[j]a[j+1]){
int t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
int index=1;//下标
int b[10];//存放不重复元素的数组
b[0] = a[0];
for(int i=1;i10;i++){
if(a[i] != a[i-1]){//如果当前遍历的元素和前一个元素不相等
b[index++] = a[i];//存到b中
}
}
for(int i=0;iindex;i++){
printf("%d\n",b[i]);
}
}