Maison > développement back-end > C++ > le corps du texte

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

WBOY
Libérer: 2023-09-23 20:09:09
avant
1020 Les gens l'ont consulté

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.
Copier après la connexion

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;
}
Copier après la connexion

Sortie

Vous obtiendrez le résultat suivant −

enter x and y values:20 30
After swap x=30 and y=20
Copier après la connexion

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;
}
Copier après la connexion

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
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal