C語言去掉數組重復值 c語言如何刪除數組中重復元素?
c語言如何刪除數組中重復元素?1/*2想法:3將字符串存儲在字符數組a中,設置要復制到數組B的值,遍歷B的每個元素4素數,與a中的每個元素進行比較,如果有相同的,則將B中的相應元素設置為-1。5個輸出
c語言如何刪除數組中重復元素?
1/*
2想法:
3將字符串存儲在字符數組a中,設置要復制到數組B的值,遍歷B的每個元素
4素數,與a中的每個元素進行比較,如果有相同的,則將B中的相應元素設置為-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//使用同一個元素,設為-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}
使用雙循環(huán)依次比較每個值和下列值。如果存在相同的元素,請刪除該元素。刪除時,可以將以下元素依次向前移動一位,同時將總長度減少一位。參考代碼如下:
C語言二維數組中刪除數組中的重復元素?
考慮使用for循環(huán)或while循環(huán)。以下是一個可供參考的測試方法。如果是包含大量數據的數組,則可以考慮更有效的方法。如果是C語言編程,其實道理幾乎是一樣的。創(chuàng)建一個新的可變長度數組來保存元素組中提取的元素。以確保刪除重復的元素。根據LabVIEW的特點,利用LabVIEW的一維數組查找功能,將從原始數組中提取的元素與新數組中的所有元素進行比較。如果找到相同的元素,則不將該元素添加到新數組中;如果找不到相同的元素,則將該元素添加到新數組中。
怎樣用一個方法去掉一個數組的重復元素?
代碼示例:
//只需調用函數trim
#include<stdio。H>
無效修剪(int arr[,int*PN)
{
int i,J,k
for(I=0I<*PNI)
{
for(J=I 1J<*PN)
{
if(arr[I]==arr[J])
{
]for(k=J 1K<*PNK)
arr[k-1]=arr[k
](*PN)-
}else
J
}else
J
}inter Main()
{
inti,n=20,arr[20]={12,12,2,203657001001366,12,12,50,50,50100525700700}
printf(“刪除重復元素之前的數組:”)
對于(I=0I<n-1i)
{
printf(%d”,arr[I])}
printf(%dn”,arr[n-1])
trim(arr,&n)
printf(”
對于(I=0I<n-1i)
{
printf(%d”,arr[n-1])}
printf(%dn”,arr[n-1])
返回0
})