在线编译器 C

#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) Подсказки:
- Внимательно проследи, как изменяются переменные `max` и `max2` в циклах. Что будет, если самый большой элемент находится в `arr[0]`?
- Подумай, что произойдет, если все элементы массива одинаковые, или если самый большой элемент встречается несколько раз.