Составить программу для создания большего из четырех чисел - C (СИ)
Формулировка задачи:
Составить программу для создания большего из четырех чисел с использованием функции поиска большего из двух. Заранее благодарю
Решение задачи: «Составить программу для создания большего из четырех чисел»
textual
Листинг программы
#include<stdio.h>
#include<stdlib.h>
int maxA(int a, int b)
{
return a >= b ? a : b;
}
int main()
{
int a[4], result, imax, amax;
int i;
printf("%Vvedite 4usla:\n");
for (i = 0;i < 4; i++)
scanf("%d", &a[i]);
result = 0;
imax = 0;
amax = a[0];
for (i = 0; i < 4; i++)
{
amax = a[0];
for (int j = 0; j < 3; j++)
if (amax < maxA(a[j], a[j+1]))
{
amax = maxA(a[j], a[j+1]);
imax=j+1;
}
result = result * 10 + amax;
a[imax] = 0;
imax = 0;
}
printf("Max. 4uslo = %d\n",result);
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Создаем функцию maxA, которая принимает два числа и возвращает большее
- В функции main объявляем массив a, переменные result, imax, amax и i
- Запрашиваем ввод четырех чисел с помощью scanf и сохраняем их в массиве a
- Инициализируем переменные result, imax и amax значением первого элемента массива a
- В цикле перебираем все числа в массиве a, начиная со второго
- Внутри цикла инициализируем переменную amax значением текущего элемента массива a
- В цикле перебираем все числа, начиная со второго элемента и заканчивая третьим, сравнивая текущий элемент с предыдущим и следующим элементами
- Если текущий элемент меньше максимального из предыдущего и следующего элементов, то обновляем значение amax и индекс imax
- Прибавляем значение amax к результату и обнуляем элемент массива a с индексом imax
- После завершения внутреннего цикла обнуляем переменную imax
- Выводим максимальное четырехзначное число на экран
- Возвращаем 0, чтобы указать, что программа успешно завершилась