编写C程序以删除数组中的重复数字

让用户在包含重复元素的数组中输入数字。

现在,让我们编写代码以删除数组中重复的数字或元素,并创建一个包含唯一元素而不重复的数组

例如,

一个例子在下面解释-

  • 用户输入为12、30、12、45、67、30。

  • 输出为12、30、45、67(删除重复项后)。

示例

以下是C程序删除数组中的重复数字-

#include <stdio.h>
#define MAX 100 // 数组的最大大小
int main(){
   int array[MAX]; // 声明大小为100的数组
   int size;
   int i, j, k; // 循环变量
   /* Input size of the array */
   printf("输入数组的大小: ");
   scanf("%d", &size);
   /* Input elements in the array */
   printf("在数组中输入元素: ");
   for(i=0; i<size; i++){
      scanf("%d", &array[i]);
   }
   /*find the duplicate elements in an array:
   for(i=0; i<size; i++){
      for(j=i+1; j<size; j++){
         /* If any duplicate found */
         if(array[i] == array[j]){
            /* Delete the current duplicate element */
            for(k=j; k<size; k++){
               array[k] = array[k + 1];
            }
            /* Decrement size after removing duplicate element */
            size--;
            /* If shifting of elements occur then don't increment j */
            j--;
         }
      }
   }
   printf("\nArray elements after deleting duplicates : ");/*print an array after deleting the duplicate elements.
   for(i=0; i<size; i++){
      printf("%d\t", array[i]);
   }
   return 0;
}
输出结果

输出如下-

输入数组的大小: 10
在数组中输入元素: 23 12 34 56 23 12 56 78 45 56
Array elements after deleting duplicates : 23 12 34 56 78 45