Если они числа положительны, то большее из них заменить их средним арифметическим - C (СИ)
Формулировка задачи:
Помогите с программой и бса пожалуйста)
Задание такая: Даны два целых числа. Если они оба положительны, то большее из них заменить их средним арифметическим; если оба отрицательны, то поменять знак у меньшего из них; иначе каждое из них удвоить.
Решение задачи: «Если они числа положительны, то большее из них заменить их средним арифметическим»
textual
Листинг программы
#include <stdio.h> int main() { int a, b, c; if (scanf("%d%d", &a, &b) != 2) { return 1; } if ((0 < a) && (0 < b)) { c = (a + b) / 2; if (a < b) { b = c; } else { a = c; } } else if ((a < 0) && (b < 0)) { if (a < b) { a *= -1; } else { b *= -1; } } else { a *= 2; b *= 2; } printf("%d %d\n", a, b); return 0; }
Объяснение кода листинга программы
- Ввод чисел с клавиатуры.
- Проверка корректности ввода: если введено меньше двух чисел, программа завершается.
- Проверка на положительность обоих чисел.
- Если оба числа положительны, то вычисляется их среднее арифметическое и заменяет большее из них.
- Если оба числа отрицательны, то происходит обмен знаками.
- Если одно число положительное, а другое отрицательное, то положительное число остается без изменений, а отрицательное число меняет знак на положительный.
- Если оба числа положительны или оба отрицательны, то оба числа умножаются на 2.
- Вывод полученных чисел.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д