Programa para Trocar Dois Números

CBeginner
Pratique Agora

Introdução

Trocar dois números significa interverter seus valores. Neste laboratório, aprenderemos como trocar dois números na linguagem C usando diferentes métodos, como o uso de uma variável temporária, adição e subtração, operadores bitwise, multiplicação e divisão.

Nota: Você precisa criar o arquivo ~/project/main.c por conta própria para praticar a codificação e aprender como compilar e executá-lo usando o gcc.

cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main

Usando uma Variável Temporária

Podemos trocar dois números usando uma variável temporária seguindo estes passos:

  1. Declare três variáveis x, y e temp.
  2. Atribua valores a x e y.
  3. Armazene o valor de x em temp.
  4. Atribua o valor de y a x.
  5. Atribua o valor de temp a y.
  6. Imprima os valores de x e y.
#include <stdio.h>

int main() {
  int x = 5, y = 7, temp;

  // Step 3
  temp = x;

  // Step 4 and 5
  x = y;
  y = temp;

  // Step 6
  printf("After swapping, x = %d and y = %d\n", x, y);

  return 0;
}

Usando Adição e Subtração

Podemos trocar dois números usando adição e subtração seguindo estes passos:

  1. Atribua valores a x e y.
  2. Some x e y e atribua o resultado a x.
  3. Subtraia o valor original de y de x e atribua a y.
  4. Subtraia o valor original de y do novo valor de x e atribua a x.
  5. Imprima os valores de x e y.
#include <stdio.h>

int main() {
  int x = 5, y = 7;

  // Step 2 and 3
  x = x + y;
  y = x - y;

  // Step 4
  x = x - y;

  // Step 5
  printf("After swapping, x = %d and y = %d\n", x, y);

  return 0;
}

Usando Operadores Bitwise

Podemos trocar dois números usando operadores bitwise seguindo estes passos:

  1. Atribua valores a x e y.
  2. Faça XOR de x e y e atribua o resultado a x.
  3. Faça XOR do novo valor de x e y e atribua o resultado a y.
  4. Faça XOR do novo valor de x e y e atribua o resultado a x.
  5. Imprima os valores de x e y.
#include <stdio.h>

int main() {
  int x = 5, y = 7;

  // Step 2 and 3
  x = x ^ y;
  y = x ^ y;

  // Step 4
  x = x ^ y;

  // Step 5
  printf("After swapping, x = %d and y = %d\n", x, y);

  return 0;
}

Usando Multiplicação e Divisão

Podemos trocar dois números usando multiplicação e divisão seguindo estes passos:

  1. Atribua valores a x e y.
  2. Multiplique x e y e atribua o resultado a x.
  3. Divida o novo valor de x por y e atribua o resultado a y.
  4. Divida o novo valor de x pelo novo valor de y e atribua o resultado a x.
  5. Imprima os valores de x e y.
#include <stdio.h>

int main() {
  int x = 5, y = 7;

  // Step 2 and 3
  x = x * y;
  y = x / y;

  // Step 4
  x = x / y;

  // Step 5
  printf("After swapping, x = %d and y = %d\n", x, y);

  return 0;
}

Resumo

Neste laboratório, aprendemos como trocar dois números usando quatro métodos diferentes: usando uma variável temporária, adição e subtração, operadores bitwise e multiplicação e divisão. Trocar dois números é útil em programação quando queremos mudar a ordem de dois valores ou realizar operações que exigem a troca dos valores de duas variáveis.