Если они числа положительны, то большее из них заменить их средним арифметическим - 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.
- Вывод полученных чисел.
- Программа завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д