Программа для обмена двух чисел

CBeginner
Практиковаться сейчас

Введение

Перестановка двух чисел означает обмен их значениями. В этом практическом занятии мы научимся переставлять два числа на языке C различными методами, такими как с использованием временной переменной, сложения и вычитания, битовых операторов, умножения и деления.

Примечание: вам нужно самостоятельно создать файл ~/project/main.c, чтобы практиковать программирование и научиться компилировать и запускать его с использованием gcc.

cd ~/project
## создать main.c
touch main.c
## скомпилировать main.c
gcc main.c -o main
## запустить main
./main

Использование временной переменной

Мы можем поменять местами два числа с использованием временной переменной, выполнив следующие шаги:

  1. Объявить три переменные x, y и temp.
  2. Присвоить значения x и y.
  3. Сохранить значение x в temp.
  4. Присвоить значение y переменной x.
  5. Присвоить значение temp переменной y.
  6. Вывести значения x и y.
#include <stdio.h>

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

  // Шаг 3
  temp = x;

  // Шаги 4 и 5
  x = y;
  y = temp;

  // Шаг 6
  printf("После перестановки x = %d и y = %d\n", x, y);

  return 0;
}

Использование сложения и вычитания

Мы можем поменять местами два числа с использованием сложения и вычитания, выполнив следующие шаги:

  1. Присвоить значения x и y.
  2. Сложить x и y и присвоить результат x.
  3. Вычесть из x исходное значение y и присвоить y.
  4. Вычесть из нового значения x исходное значение y и присвоить x.
  5. Вывести значения x и y.
#include <stdio.h>

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

  // Шаги 2 и 3
  x = x + y;
  y = x - y;

  // Шаг 4
  x = x - y;

  // Шаг 5
  printf("После перестановки x = %d и y = %d\n", x, y);

  return 0;
}

Использование битовых операторов

Мы можем поменять местами два числа с использованием битовых операторов, выполнив следующие шаги:

  1. Присвоить значения x и y.
  2. Выполнить операцию исключающего ИЛИ (XOR) для x и y и присвоить результат x.
  3. Выполнить операцию исключающего ИЛИ для нового значения x и y и присвоить результат y.
  4. Выполнить операцию исключающего ИЛИ для нового значения x и y и присвоить результат x.
  5. Вывести значения x и y.
#include <stdio.h>

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

  // Шаги 2 и 3
  x = x ^ y;
  y = x ^ y;

  // Шаг 4
  x = x ^ y;

  // Шаг 5
  printf("После перестановки x = %d и y = %d\n", x, y);

  return 0;
}

Использование умножения и деления

Мы можем поменять местами два числа с использованием умножения и деления, выполнив следующие шаги:

  1. Присвоить значения x и y.
  2. Умножить x на y и присвоить результат x.
  3. Разделить новое значение x на y и присвоить результат y.
  4. Разделить новое значение x на новое значение y и присвоить результат x.
  5. Вывести значения x и y.
#include <stdio.h>

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

  // Шаги 2 и 3
  x = x * y;
  y = x / y;

  // Шаг 4
  x = x / y;

  // Шаг 5
  printf("После перестановки x = %d и y = %d\n", x, y);

  return 0;
}

Резюме

В этом практическом занятии мы узнали, как поменять местами два числа четырьмя различными методами: с использованием временной переменной, сложения и вычитания, битовых операторов и умножения и деления. Перестановка двух чисел полезна в программировании, когда мы хотим изменить порядок двух значений или выполнить операции, требующие обмена значениями двух переменных.