Вот программа на C, которая печатает наибольшее число в массиве:
#include <stdio.h>
int main() {
int array[] = {10, 5, 8, 20, 15};
int size = sizeof(array) / sizeof(array[0]);
int largest = array[0];
for (int i = 1; i < size; i++) {
if (array[i] > largest) {
largest = array[i];
}
}
printf("The largest number in the array is: %d\n", largest);
return 0;
}
В этой программе мы инициализируем массив некоторыми числами. Затем мы вычисляем размер массива по формуле sizeof(array) / sizeof(array[0]). Мы предполагаем, что массив содержит хотя бы один элемент, поэтому присваиваем значение первого элемента переменной largest. Далее мы перебираем массив, начиная со второго элемента, и сравниваем каждый элемент с самым большим. Если мы находим элемент больше, чем самый большой, мы соответствующим образом обновляем значение самый большой. Наконец, мы печатаем значение largest, которое представляет наибольшее число в массиве.
Вот несколько альтернативных способов найти наибольшее число в массиве:
-
Использование цикла while:
int i = 1; while (i < size) { if (array[i] > largest) { largest = array[i]; } i++; } -
Использование цикла do- while:
int i = 1; do { if (array[i] > largest) { largest = array[i]; } i++; } while (i < size); -
Сортировка массива по убыванию и выбор первого элемента:
// Assuming you have a sorting algorithm implemented // that sorts the array in descending order sortDescending(array, size); largest = array[0]; -
Использование рекурсии:
int findLargest(int array[], int size, int index, int largest) { if (index == size) { return largest; } if (array[index] > largest) { largest = array[index]; } return findLargest(array, size, index + 1, largest); } largest = findLargest(array, size, 0, largest);
Обратите внимание, что для работы методов 3 и 4 вам потребуется реализовать необходимые функции (sortDescendingи findLargest), чтобы они работали.