Найти максимум/минимум во введенной последовательности (цикл while) - C (СИ)
Формулировка задачи:
Здравствуйте.Пожалуйста, помогите написать программу с помощью цикла while: С клавиатуры вводится последовательность из n чисел. Найти максимальное и минимальное из них.
Решение задачи: «Найти максимум/минимум во введенной последовательности (цикл while)»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
#include <limits.h>
int main( void ) {
int max = INT_MIN, temp;
char term;
while ( scanf( "%d%c", &temp, &term ) ) {
if ( temp > max )
max = temp;
if ( '\n' == term )
break;
}
printf( "%d\n", max );
return 0;
}
Объяснение кода листинга программы
В этом коде:
- Объявлены две переменные:
maxтипаintиtermтипаchar. Изначально,maxустанавливается вINT_MIN, что является абсолютным минимумом для 32-битного целого числа, аtermне имеет определенного значения. - В цикле
whileпрограмма запрашивает у пользователя ввод числа и символа (с помощью функцииscanf). - Если введенное число больше значения переменной
max, тоmaxобновляется этим введенным числом. - Если введенный символ является символом новой строки ('\n'), то цикл прерывается.
- После окончания цикла, программа выводит значение переменной
max. - Программа возвращает 0, что означает успешное завершение работы.