Напечатать в обратном порядке наименьший элемент последовательности - C (СИ)

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

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

Пусть имеется последовательность произвольных целых ненулевых чисел, завершающаяся числом 0 (число 0 в последовательность не входит). Количество элементов в последовательности заранее неизвестно, поэтому в данной работе использовать (статические и динамические) массивы нельзя. Напечатать в обратном порядке наименьший элемент последовательности. Заранее спасибо

Решение задачи: «Напечатать в обратном порядке наименьший элемент последовательности»

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

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

В этом коде:

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

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


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

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

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