Замена двух переменных местами, без использования третьей - C (СИ)
Формулировка задачи:
#include <stdio.h>
#include <conio.h>
int main()
{
int a,b;
printf("Please, enter A: ");
scanf("%d", &a);
printf("Please, enter B: ");
scanf("%d", &b);
b=a+b;
a=b-a;
printf("%d",a);
getch();
}Решение задачи: «Замена двух переменных местами, без использования третьей»
textual
Листинг программы
#include <stdio.h>
#include <locale.h>
void main(){
setlocale(LC_ALL,"rus");
int a, b;
printf("Введит а и b: ");
scanf("%d%d", &a, &b);
printf("a: %d b: %d\n", a, b);
b = a + b;
a = b - a;
printf("a: %d b: %d\n", a, b);
a = b - a;
b = b - a;
// из верхнего следует, что
//b = a;
printf("a: %d b: %d\n", a, b);
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Устанавливаем русскую локаль для работы с выводом
- Объявляем две переменные типа int, a и b
- Выводим сообщение с просьбой ввести значения переменных a и b
- Считываем значения переменных a и b с помощью функции scanf
- Выводим значения переменных a и b с помощью функции printf
- Присваиваем переменной b сумму переменной a и переменной b
- Присваиваем переменной a разность переменной b и переменной a
- Выводим значения переменных a и b с помощью функции printf
- Присваиваем переменной a разность переменной b и переменной a
- Присваиваем переменной b разность переменной b и переменной a
- Выводим значения переменных a и b с помощью функции printf