如何將重復(fù)項全部刪除 c語言如何刪除數(shù)組中重復(fù)元素?
c語言如何刪除數(shù)組中重復(fù)元素?1/*2想法:3將字符串存儲在字符數(shù)組a中,設(shè)置要復(fù)制到數(shù)組B的值,遍歷B的每個元素4素數(shù),與a中的每個元素進行比較,如果有相同的,則將B中的相應(yīng)元素設(shè)置為-1。5個輸出
c語言如何刪除數(shù)組中重復(fù)元素?
1/*
2想法:
3將字符串存儲在字符數(shù)組a中,設(shè)置要復(fù)制到數(shù)組B的值,遍歷B的每個元素
4素數(shù),與a中的每個元素進行比較,如果有相同的,則將B中的相應(yīng)元素設(shè)置為-1。
5個輸出元素非-1 in B.
6*/
7#-包括和ltstdio。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//下標相同,即不比較同一個元素并進入下一個循環(huán)
13 if(B[index]==a[i])B[index]=-1//使用同一個元素,設(shè)為-1
14}
15}
16 int main(){
17 gets(a)
18 memcpy(B,a,sizeof(a))//將a的元素復(fù)制到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}
int elimination(int a[,int count){//刪除數(shù)組int i,J中的重復(fù)元素,K表示(I=0 I< count I){表示(J=I 1 J< count J){如果(a[J]==a[I]){表示(K=J 1 K< count K)a[K-1]=a[K]count--J--}}}返回計數(shù)}