c语言如何删除数组中重复元素?
发布网友
发布时间:2022-04-24 18:54
我来回答
共1个回答
好二三四
时间:2022-07-20 20:29
可以使用双重循环,逐一对比元素,如有重复,则删除的方法去重。
依次遍历循环中的每一个元素。对于任意一个元素,依次与之前的元素进行对比,如果有重复则删除。删除操作可以采用将后续元素逐个前移,达到覆盖当前元素的效果。
好二三四
时间:2022-08-23 20:32
可以使用双重循环,逐一对比元素,如有重复,则删除的方法去重。
依次遍历循环中的每一个元素。对于任意一个元素,依次与之前的元素进行对比,如果有重复则删除。删除操作可以采用将后续元素逐个前移,达到覆盖当前元素的效果。
热心网友
时间:2024-07-14 17:13
1
/*
2
思路:
3
将字符串存入字符数组a中,设将值拷贝给数组b,遍历b的每个元
4
素,与a中的每个元素比较,有相同则b中对应元素置为-1。
5
输出b中不为-1的元素。
6
*/
7
#include<stdio.h>
8
#include<string.h>
9
char
a[100],b[100];
10
void
Del(int
index,int
len){
11
for(int
i=0;i<len;i++){
12
if(index
==
i)
continue;//下标相同即同一个元素不比较,进入下一个循环
13
if(b[index]
==
a[i])
b[index]=-1;//有相同元素,置值为
-1
14
}
15
}
16
int
main(){
17
gets(a);
18
memcpy(b,a,sizeof(a));//将a的元素拷贝给b
19
int
len=strlen(a);//求a的长度
20
for(int
i=0;i<len;i++){
21
Del(i,len);
22
}
23
for(int
i=0;i<len;i++){//输出b中非-1的元素
24
if(b[i]!=-1){
25
printf("%c",b[i]);
26
}
27
}
28
return
0;
29
}