Найти в введенной последовательности чисел максимальное число - C (СИ)
Формулировка задачи:
вводятся числа , пока не будет введено нечетное число. Найти максимальное из них.
Через циклы
Решение задачи: «Найти в введенной последовательности чисел максимальное число»
textual
Листинг программы
#include <stdio.h>
int main(void) {
int num, max, ret;
printf("> ");
if ( scanf("%d", &max) != 1 ) {
printf("Wrong input!\n");
return 1;
}
else if ( max & 1 ) {
printf("Emtpy sequence\n");
return 1;
}
else
while ( printf("> ") > 0 && ( ret = scanf("%d", &num) ) == 1 && ! ( num & 1 ) )
if ( max < num )
max = num;
if ( ret != 1 ) {
printf("Wrong input!\n");
return 1;
}
else
printf("MAX: %d\n", max);
return 0;
}
Объяснение кода листинга программы
- Включаем стандартную библиотеку ввода-вывода
- Объявляем переменные: — num — для хранения каждого введенного числа — max — для хранения максимального числа — ret — для хранения результата функции scanf
- Выводим приглашение для ввода первого числа и считываем его в переменную max
- Проверяем, было ли введено число. Если нет, выводим сообщение об ошибке и завершаем программу.
- Проверяем, является ли max нечетным числом. Если да, выводим сообщение об ошибке и завершаем программу.
- Входим в цикл, который будет считывать числа и обновлять max, если число больше текущего значения max. Цикл продолжается, пока не введено нечетное число или не введено число, которое больше max.
- Проверяем, было ли введено число. Если нет, выводим сообщение об ошибке и завершаем программу.
- Выводим сообщение с максимальным числом и завершаем программу.