В массиве найти второе по величине число - C (СИ)
Формулировка задачи:
Составить программу, которая в массиве А[N] находит второе по величине число (вывести это число).
Решение задачи: «В массиве найти второе по величине число»
textual
Листинг программы
#include <stdio.h>
int main(void) {
long arr[] = { 123, 3, 33, 55, 2342, 9, 320 };
long fst_max = arr[0];
long snd_max = arr[0];
for (size_t i = 1; i < sizeof(arr) / sizeof(arr[0]); i++) {
if (arr[i] > fst_max) {
snd_max = fst_max;
fst_max = arr[i];
} else if (arr[i] > snd_max) {
snd_max = arr[i];
}
}
printf("%ld %ld\n", fst_max, snd_max);
return 0;
}
Объяснение кода листинга программы
В данном коде на языке C происходит поиск второго по величине числа в массиве. Список действий:
- Создается массив arr типа long со значениями: 123, 3, 33, 55, 2342, 9, 320.
- Переменные fst_max и snd_max инициализируются значением первого элемента массива arr[0].
- Происходит цикл по всем элементам массива, начиная со второго элемента (i = 1).
- Если текущий элемент arr[i] больше значения переменной fst_max, то: a) значение переменной snd_max присваивается значение переменной fst_max; b) значение переменной fst_max присваивается значение текущего элемента arr[i].
- Если текущий элемент arr[i] больше значения переменной snd_max, то значение переменной snd_max присваивается значение текущего элемента arr[i].
- После цикла выводятся значения переменных fst_max и snd_max.
- Программа возвращает 0, заканчивая свою работу.