Найти наименьшее из нескольких целых чисел - C (СИ)

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

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

Как программировать на С, седьмое издание, Х.М.Дейтел, П.Дж.Дейтел В этой книге есть упражнения для самоконтроля, после каждой главы, помогите найти ответы к этим упражнениям, т.к. в книге есть не все ответы, а только к первым упражнениям. Вот например упражнение 4.11, поставило меня в тупик:

Напишите программу, которая находит наименьшее из нескольких целых чисел. Предположите, что первое считанное значение определяет количество оставшихся значений.

Как его решить?

Решение задачи: «Найти наименьшее из нескольких целых чисел»

textual
Листинг программы
#include <stdio.h>
 
int main() {
    int n, min, val;
 
    if ((scanf("%d", &n) == 1)
        && (0 < n--)
        && (scanf("%d", &min) == 1)) {
        while ((0 < n--) && (scanf("%d", &val) == 1)) {
            if (val < min) {
                min = val;
            }
        }
        printf("min = %d", min);
    }
 
    return 0;
}

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

В этом коде:

  1. Объявлены три переменные: n, min и val.
  2. С помощью scanf программа считывает из стандартного ввода число n и сохраняет его в переменной n.
  3. Затем программа проверяет, что ввод был успешным и n больше нуля.
  4. Если условие выполняется, то программа считывает из стандартного ввода второе число и сохраняет его в переменной min.
  5. Далее программа выполняет цикл, пока n больше нуля и считывает из стандартного ввода третье число и сохраняет его в переменной val.
  6. Внутри цикла программа сравнивает val с min и если val меньше min, то обновляет значение min на val.
  7. После завершения цикла программа выводит на стандартный вывод значение min.
  8. Если ввод был некорректным, то программа завершается с кодом ошибки.

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

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