Напечатать в обратном порядке наименьший элемент последовательности - 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; }
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные: n (количество элементов в последовательности) и min (наименьший элемент).
- С помощью функции scanf считывается количество элементов в последовательности.
- В цикле считываются элементы последовательности до тех пор, пока не будет введено значение 0.
- Если очередной элемент меньше значения переменной min, то он становится новым значением min.
- После окончания цикла проверяется, было ли введено хотя бы одно значение. Если нет, то наименьшим элементом считается 0.
- Если min отрицательное, то оно умножается на -1 и выводится знак минус.
- Затем в обратном порядке выводятся цифры наименьшего элемента.
- Возвращается 0, заканчивая работу программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д