编写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\n");

   scanf("%d",&number);

   printf("Enter Elements of the array:\n");

   for(i=0;i<number;i++){

      scanf("%d",&a[i]);

      dup[i] = -1;

   }

   printf("Entered element are: \n");

   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("\nAfter deleting the duplicate element the Array is:\n");

   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

以上是 编写C程序以删除数组中的重复元素 的全部内容, 来源链接: utcz.com/z/351165.html

回到顶部