让用户在包含重复元素的数组中输入数字。
现在,让我们编写代码以删除数组中重复的数字或元素,并创建一个包含唯一元素而不重复的数组
例如,
一个例子在下面解释-
用户输入为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