Maison  >  Article  >  développement back-end  >  Comment échanger deux nombres en programmation C sans utiliser de troisième variable ou de variable temporaire ?

Comment échanger deux nombres en programmation C sans utiliser de troisième variable ou de variable temporaire ?

WBOY
WBOYavant
2023-09-23 20:09:09963parcourir

Comment échanger deux nombres en programmation C sans utiliser de troisième variable ou de variable temporaire ?

Grâce aux opérations d'addition et de soustraction, nous pouvons échanger deux nombres d'un emplacement mémoire à un autre.

Algorithme

Voici une explication de l'algorithme −

Démarrer

Step 1: Declare 2 variables x and y.
Step 2: Read two numbers from keyboard.
Step 3: Swap numbers.
//Apply addition and subtraction operations to swap the numbers.
   i. x=x+y
   ii. y=x-y
   iii. x=x-y
Step 4: Print x and y values.

Programme

Voici un programme C qui explique comment échanger deux nombres sans utiliser de troisième variable ou de variable temporaire :

#include<stdio.h>
int main(){
   int x,y;
   printf("enter x and y values:");
   scanf("%d%d",&x,&y);// lets take x as 20 and y as 30
   x=x+y;// x=20+30=50
   y=x-y;//y=50-30=20
   x=x-y;//x=50-20=30
   printf("After swap x=%d and y=%d",x,y);
   return 0;
}

Sortie

Vous obtiendrez le résultat suivant −

enter x and y values:20 30
After swap x=30 and y=20

Remarque - Nous pouvons utiliser les opérateurs de multiplication, de division et XOR au niveau du bit pour échanger deux nombres sans utiliser de troisième variable.

Considérons un autre exemple qui explique comment utiliser les opérateurs de multiplication et de division pour échanger deux nombres.

Programme

Ce qui suit est un programme C qui démontre la fonction correspondante d'échange de deux nombres :

#include<stdio.h>
int main(){
   int x,y;
   printf("enter x and y values:");
   scanf("%d%d",&x,&y);
   x=x*y;
   y=x/y;
   x=x/y;
   printf("After swap x=%d and y=%d",x,y);
   return 0;
}

Sortie

Lorsque vous exécutez le programme ci-dessus, vous obtiendrez le résultat suivant −

enter x and y values:120 250
After swap x=250 and y=120

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