Если они числа положительны, то большее из них заменить их средним арифметическим - 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;
}

Объяснение кода листинга программы

  1. Ввод чисел с клавиатуры.
  2. Проверка корректности ввода: если введено меньше двух чисел, программа завершается.
  3. Проверка на положительность обоих чисел.
  4. Если оба числа положительны, то вычисляется их среднее арифметическое и заменяет большее из них.
  5. Если оба числа отрицательны, то происходит обмен знаками.
  6. Если одно число положительное, а другое отрицательное, то положительное число остается без изменений, а отрицательное число меняет знак на положительный.
  7. Если оба числа положительны или оба отрицательны, то оба числа умножаются на 2.
  8. Вывод полученных чисел.
  9. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы