Maison >développement back-end >C++ >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.
Voici une explication de l'algorithme −
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.
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; }
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.
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; }
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!