Вывод определенных чисел из числовой последовательности (!без массива!) - C (СИ)

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

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

[COLOR="Indigo"]Пользователь вводит ряд чисел (их количество он определяет сам, их количество находится в пределах от 1 до 100 включительно и является целым). Числа, которые вводит пользователь, являются целыми числами находящимися в диапазоне от 1 до 1000 включительно. Напишите программу, которая выводит максимальное чётное и минимальное нечетное число из тех что ввёл пользователь. Пользователь вводит числа не по порядку, а в разнобой.

Решение задачи: «Вывод определенных чисел из числовой последовательности (!без массива!)»

textual
Листинг программы
#include<stdio.h>
int main(){
    int x,N,max=0,min=0,i=0;   //i - счетчик элементов
    printf("Enter N: ");   //Задаем количество чисел
    scanf("%i",&N);
    printf("Enter the numbers from 1 to 100: \n");
    while (i<N){    //Ввод осуществляется до тех пор, пока число меньше заданного. Строгое равенство потому, что счет ведется с 0
        do {
            scanf("%i",&x);
            if (x>=1 && x<=100){   //Проверка на принадлежность указанному диапазону
                if (x%2==0 && x>max) max=x;   //
                i++;
            }
            else printf ("\nError! The invalid number. Try again.\n");   //Вывод сообщения об ошибке в случае несоответствия числа диапазону
        }
        while (x%2==0);   //Цикл, позволяющий задать начальный минимум нечетных чисел
        min=x;   //Присвоение начального минимального значения первого нечетного числа
        i--;   //Понижаем счетчик
        if (x>=1 && x<=100){   //Проверка на принадлежность указанному диапазону
            if (x%2==0 && x>max) max=x;   //Поиск максимального нечетного и минимального четного числа
            if (x%2!=0 && x<min) min=x;   
            i++;
        }
        else printf ("\nError! The invalid number. Try again.\n");   //Вывод сообщения об ошибке
    }
    printf ("Min = %i\nMax = %i",min,max);   //Вывод результатов
    return 0;
}

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

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

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


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

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

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