#include<stdio.h>#include<stdlib.h>#include<math.h>voidswap(int* a,int* b){int t =*a;*a =*b;*b = t;}voidfunction(int* arr,int a){if(arr[0]< a)swap(&arr[0],&a);if(arr[1]< a)swap(&arr[1],&a);if(arr[2]< a)swap(&arr[2],&a);}intmain(){int n =0;scanf("%d",&n);int arr[3]={0};int a =0;for(int i =0; i < n; i++){scanf("%d",&a);function(arr, a);}int sum = arr[0]+ arr[1]+ arr[2];printf("%d", sum);return0;}
写法二
intcmp(constvoid*a,constvoid*b){return*(int*)a -*(int*)b;}//快速排序 intmain(){int n;scanf("%d",&n);int arr[n];for(int i =0; i < n; i++){scanf("%d",&arr[i]);}qsort(arr, n,sizeof(int), cmp);int sum =0;for(int i =1; i <=3; i++) sum += arr[n-i];printf("%d", sum);return0;}