Составить программу для создания большего из четырех чисел - 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, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д