Из 5 номеров определить номер меньше максимального и больше всех остальных - C (СИ)
Формулировка задачи:
#include <stdio.h>
main()
{
int a,b,c,d,e,max;
printf("a,b,c,d,e:\n");
scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
if (a>b) max=a; else max=b;
if (max>c) max=max; else max=c;
if (max>d) max=max; else max=d;
if (max>e) max=max; else max=e;
printf("Max. Nomer: %d",max);
}Решение задачи: «Из 5 номеров определить номер меньше максимального и больше всех остальных»
#include <stdio.h>
int main() {
int a, b, c, d, e;
int max, min, result;
scanf("%d %d %d %d %d", &a, &b, &c, &d, &e);
max = a;
if ( max < b ) {
max = b;
}
if ( max < c ) {
max = c;
}
if ( max < d ) {
max = d;
}
if ( max < e ) {
max = e;
}
min = max;
if ( min > a ) {
min = a;
}
if ( min > b ) {
min = b;
}
if ( min > c ) {
min = c;
}
if ( min > d ) {
min = d;
}
if ( min > e ) {
min = e;
}
result = min;
if ( result < a && a != max ) {
result = a;
}
if ( result < b && b != max ) {
result = b;
}
if ( result < c && c != max ) {
result = c;
}
if ( result < d && d != max ) {
result = d;
}
if ( result < e && e != max ) {
result = e;
}
printf("%d\n", result);
return 0;
}
Объяснение кода листинга программы
В этом коде определен набор из пяти чисел с помощью функции scanf. Затем эти числа сравниваются между собой, чтобы найти максимальное и минимальное.
Переменная max инициализируется значением первого введенного числа. Затем она обновляется, если следующие числа больше текущего значения max.
Аналогично, переменная min инициализируется значением первого введенного числа. Затем она обновляется, если следующие числа меньше текущего значения min.
Если min оказывается больше первого числа, оно заменяет max.
Затем происходит поиск числа, которое меньше максимального и больше всех остальных. Это делается путем сравнения min с каждым из чисел, кроме максимального. Если находится число, которое меньше min, оно заменяет min.
Наконец, найденное число выводится на экран с помощью функции printf.
Возвращаемое значение функции main равно 0, что означает успешное выполнение.