c语言数组去重 c语言如何删除数组中重复元素?
浏览量:2910
时间:2021-03-18 06:36:36
作者:admin
c语言如何删除数组中重复元素?
1/*
2想法:
3将字符串存储在字符数组a中,设置要复制到数组B的值,遍历B的每个元素
4素数,与a中的每个元素进行比较,如果有相同的,则将B中的相应元素设置为-1。
B的输出元素不是1。
6*/
7#-包括和限制。H>
8#-包含字符串(&L)。H>
9 char a[100],B[100
]10 void del(int index,int len){
11 for(int i=0I<leni){
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=0I<leni){
21 del(i,len)
22}
23 for(int i=0I<leni){//输出B中的非1元素
24 if(B[i]!=-1){
]25 printf(%C”,B[i])
26}
]27}
28返回0
29}
使用双循环依次比较每个值和下列值。如果存在相同的元素,请删除该元素。删除时,可以将以下元素依次向前移动一位,同时将总长度减少一位。参考代码如下:
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。