繁体   English   中英

在 C 中输入数组并检查相同的值

[英]Input Array in C and check for same values

如何输入一个整数数组并检查 2 对值是否相等,并且我还想删除重复的值以在数组中只有 1 个相同的值? 我想打印没有重复值的数组的最终结果。 我有这样的想法:

int a[SIZE], i;
 printf("Enter %d numbers:\n", SIZE);
 for (i = 0; i < SIZE; i++) {
  scanf_s("%d", a[i]);
 if(i>=1){
  if(a[i-1]==a[i]){
  a[i-1]==a[i];
  printf("%d", a[i-1]);
 }
}

这个结果给了我我需要的但不完全的。 你能帮忙吗?

代码

#include<stdio.h>
int main() {
   int arr[20], i, j, k, size;
   printf("\nEnter array size:");
   scanf("%d", &size);
   printf("\nEnter Numbers:");
   for (i = 0; i < size; i++)
      scanf("%d", &arr[i]);
   printf("\nList of Unique Numbers:");
   for (i = 0; i < size; i++) {
      for (j = i + 1; j < size;) {
         if (arr[j] == arr[i]) {
            for (k = j; k < size; k++) {
               arr[k] = arr[k + 1];
            }
            size--;
         } else
            j++;
      }
   }
   for (i = 0; i < size; i++) {
      printf("%d ", arr[i]);
   }
}

解释

输入后,我们从第一个元素开始。 然后在那个 for 循环中,我们有另一个 for 循环来检查该元素之后的元素。 如果有重复,我将其删除。 希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM