Найти сумму Максимум среди чётных элементов последовательности и Минимум среди нечётных - C (СИ)

Узнай цену своей работы

Формулировка задачи:

дана последовательность действительных чисел {a1,a2,...an}. Найти max{a2,a4...a2k}+min{a1,a3,...a2k-1} и как можно обойтись без массивов?...через вектор?

Решение задачи: «Найти сумму Максимум среди чётных элементов последовательности и Минимум среди нечётных»

textual
Листинг программы
#include <stdio.h>
 
int main(void) {
    unsigned cnt;
    int min, max, number;
    
    printf("Введите несколько чисел и любую букву, когда закончите...\n");
    cnt = 0;
    while ( printf("#%02u> ", cnt + 1) && scanf("%d", &number) == 1 && ++cnt ) {
        if ( cnt == 1 )
            min = number;
        else if ( cnt == 2 )
            max = number;
        else if ( ( cnt & 1 ) && ( number < min ) )
            min = number;
        else if ( !( cnt & 1 ) && ( number > max ) )
            max = number;
    }
    
    if ( cnt < 2 ) {
        printf("Нужно как минимум два числа!\n");
        return 1;
    }
    else
        printf("%d + %d = %d\n", min, max, min + max);
    
    return 0;
}

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

В этом коде выполняются следующие действия:

  1. Подключение стандартной библиотеки, позволяющей работать с файлами, вводом/выводом и другими основными функциями языка C.
  2. Объявление переменных:
    • cnt - счётчик, который отслеживает количество введённых чисел;
    • min - переменная для хранения минимального чётного числа;
    • max - переменная для хранения максимального нечётного числа;
    • number - переменная для хранения вводимого числа.
  3. Вывод сообщения с просьбой ввести несколько чисел и завершить ввод буквой.
  4. Инициализация счётчика cnt нулём.
  5. Запуск цикла, который продолжается до тех пор, пока пользователь вводит числа и не вводит букву для завершения ввода. В ходе цикла:
    • если счётчик равен единице, то в переменную min записывается введённое число;
    • если счётчик равен двум, то в переменную max записывается введённое число;
    • если счётчик кратен двум и введённое число меньше значения переменной min, то значение переменной min обновляется;
    • если счётчик не кратен двум и введённое число больше значения переменной max, то значение переменной max обновляется.
  6. Если количество введенных чисел меньше двух, то выводится сообщение об ошибке и возвращается код ошибки 1.
  7. Если счётчик больше или равен двум, то выводится сообщение с суммой максимального и минимального чисел.
  8. Возвращается код успеха 0.

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


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

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

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