用一個數組來刪除重複元素的 C 程式


嘗試刪除一個陣列中出現的相同數字。結果陣列由唯一元素組成。

刪除陣列中重複元素的邏輯如下 −

for(i=0;i<number;i++){
   for(j = i+1; j < number; j++){
      if(a[i] == a[j]){
         for(k = j; k <number; k++){
            a[k] = a[k+1];
         }
         j--;
         number--;
      }
   }
}

刪除重複元素後顯示數字的邏輯如下

for(i=0;i<number;i++){
   printf("%d ",a[i]);
}

程式

以下是刪除陣列中重複元素的 C 程式。

 線上演示

#include<stdio.h>
#include<stdlib.h>
int main(){
   int a[50],i,j,k, count = 0, dup[50], number;
   printf("Enter size of the array
"
);    scanf("%d",&number);    printf("Enter Elements of the array:
"
);    for(i=0;i<number;i++){       scanf("%d",&a[i]);       dup[i] = -1;    }    printf("Entered element are:
"
);    for(i=0;i<number;i++){       printf("%d ",a[i]);    }    for(i=0;i<number;i++){       for(j = i+1; j < number; j++){          if(a[i] == a[j]){             for(k = j; k <number; k++){                a[k] = a[k+1];             }             j--;             number--;          }       }    }    printf("
After deleting the duplicate element the Array is:
"
);    for(i=0;i<number;i++){       printf("%d ",a[i]);    } }

輸出

執行上述程式後,會產生以下結果 −

Enter size of the array
10
Enter Elements of the array:
1 1 2 4 3 5 6 5 7 1
Entered element are:
1 1 2 4 3 5 6 5 7 1
After deleting the duplicate element, the Array is:
1 2 4 3 5 6 7

更新於: 12-Sep-2023

44K+ 瀏覽量

開啟您的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.