Maison  >  Article  >  développement back-end  >  Comment échanger les valeurs de deux tableaux en langage C sans utiliser de variables temporaires ?

Comment échanger les valeurs de deux tableaux en langage C sans utiliser de variables temporaires ?

WBOY
WBOYavant
2023-09-02 22:53:031414parcourir

Comment échanger les valeurs de deux tableaux en langage C sans utiliser de variables temporaires ?

Échangez deux tableaux sans utiliser de variables temporaires. Ici, nous utiliserons des opérateurs arithmétiques et au niveau du bit au lieu de la troisième variable.

La logique de lecture du premier tableau est la suivante :-

printf("enter first array ele:</p><p>");
for(i = 0; i < size; i++){
   scanf("%d", &first[i]);
}

La logique de lecture du deuxième tableau est la suivante −

printf("enter first array ele:</p><p>");
for(i = 0; i < size; i++){
   scanf("%d", &first[i]);
}

La logique d'échange de deux tableaux sans utiliser la troisième variable est la suivante −

for(i = 0; i < size; i++){
   first[i] = first[i] + sec[i];
   sec[i] = first[i] - sec[i];
   first[i] = first[i] - sec[i];
}

Programme

Ce qui suit est un programme C permettant d'échanger deux tableaux sans utiliser de variables temporaires :

Démo en ligne

#include<stdio.h>
int main(){
   int size, i, first[20], sec[20];
   printf("enter the size of array:");
   scanf("%d", &size);
   printf("enter first array ele:</p><p>");
   for(i = 0; i < size; i++){
      scanf("%d", &first[i]);
   }
   printf("enter second array ele:</p><p>");
   for(i = 0; i < size; i ++){
      scanf("%d", &sec[i]);
   }
   //Swapping two Arrays
   for(i = 0; i < size; i++){
      first[i] = first[i] + sec[i];
      sec[i] = first[i] - sec[i];
      first[i] = first[i] - sec[i];
   }
   printf("</p><p> first array after swapping %d elements</p><p>", size);
   for(i = 0; i < size; i ++){
      printf(" %d \t ",first[i]);
   }
   printf("sec array after Swapping %d elements</p><p>", size);
   for(i = 0; i < size; i ++){
      printf(" %d \t ",sec[i]);
   }
   return 0;
}

Sortie

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant −

enter the size of array:5
enter first array ele:
11 12 13 14 15
enter second array ele:
90 80 70 60 50
first array after swapping 5 elements
90 80 70 60 50
sec array after Swapping 5 elements
11 12 13 14 15

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer