Напечатать в обратном порядке наименьший элемент последовательности - 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, заканчивая работу программы.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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