簡體   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