В последовательности из N произвольных чисел определить сумму наибольшего и наименьшего элементов - C (СИ)
Формулировка задачи:
В последовательности из N произвольных чисел определить сумму наибольшего и наименьшего элементов
Решение задачи: «В последовательности из N произвольных чисел определить сумму наибольшего и наименьшего элементов»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#define n 10 // можно изменить
void max_min_elements(int *a);
int main()
{
int p, mas[n], i;
printf("Input elements array:\n\n");
for(i=0; i<n; i++)
scanf("%d", &mas[i]);
max_min_elements(mas);
getch();
}
void max_min_elements(int *a)
{
int max, min, i, sum=0;
max=a[0];
min=a[0];
for(i=0; i<n; i++)
if(a[i]<=min)
min=a[i];
else if(a[i]>max)
max=a[i];
sum=max+min;
printf("Max. element: = %d\n", max);
printf("Min. element: = %d\n", min);
printf("Sum min. and max. elements: = %d", sum);
}
Объяснение кода листинга программы
В этом коде определен массив из n произвольных чисел, и задача заключается в определении суммы наибольшего и наименьшего элементов.
- #include
- подключает библиотеку для работы с консолью. - #include
- подключает библиотеку для работы с клавиатурой и мышью. - #define n 10 - определяет размер массива.
- *void max_min_elements(int a);** - функция для поиска максимального и минимального элементов.
- int main() - функция, с которой начинается выполнение любой программы на C.
- int p, mas[n], i; - объявление переменных.
- printf(
Input elements array:\n\n); - вывод приглашения для ввода массива. - for(i=0; i<n; i++) - цикл для ввода массива.
- scanf(
%d, &mas[i]); - ввод элемента массива. - max_min_elements(mas); - вызов функции для поиска максимального и минимального элементов.
- getch(); - ожидание нажатия клавиши.
- *void max_min_elements(int a)** - функция для поиска максимального и минимального элементов.
- int max, min, i, sum=0; - объявление переменных.
- max=a[0]; - инициализация максимального элемента первым элементом массива.
- min=a[0]; - инициализация минимального элемента первым элементом массива.
- for(i=0; i<n; i++) - цикл для сравнения всех элементов массива с текущими значениями максимального и минимального элементов.
- if(a[i]<=min) - проверка, является ли текущий элемент меньше текущего значения минимального элемента.
- min=a[i]; - обновление значения минимального элемента.
- else if(a[i]>max) - проверка, является ли текущий элемент больше текущего значения максимального элемента.
- max=a[i]; - обновление значения максимального элемента.
- sum=max+min; - вычисление суммы максимального и минимального элементов.
- printf(
Max. element: = %d\n, max); - вывод максимального элемента. - printf(
Min. element: = %d\n, min); - вывод минимального элемента. - printf(
Sum min. and max. elements: = %d, sum); - вывод суммы максимального и минимального элементов.