#include <stdio.h>
#define n 10
int main(void)
{
int arr[n];
for (int i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
int max2 = arr[ 0 ];
for (int i = 1; i < n; i++)
{
if (arr[ i ] >= max2){
max2 = arr[i];
}
}
int max = arr[ 0 ];
for (int i = 1; i < n; i++)
{
if (arr[ i ] >= max && arr [ i ] < max2){
max = arr[i];
}
}
printf("%d \n", max + max2 );
return 0;
}
1) Этот код считывает 10 целых чисел в массив, затем пытается найти сумму двух наибольших элементов в массиве.
2) Подсказки:
- Обрати внимание, что переменная `max2` в первом цикле находит наибольший элемент, а `max` во втором цикле ищет элемент, который меньше `max2`, но может оказаться не вторым по величине, если максимальный элемент встречается несколько раз.
- Подумай, что произойдет, если все элементы массива одинаковые, или если максимальный элемент повторяется.