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