Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
	"strconv"
)

var sc = bufio.NewScanner(os.Stdin)

func read() string {
	sc.Scan()
	return sc.Text()
}

func main() {
	sc.Split(bufio.ScanLines)

	s := make([]int, 10)
	for i := 0; i < 10; i++ {
		s[i], _ = strconv.Atoi(read())
	}
	sort.Sort(sort.Reverse(sort.IntSlice(s)))
	fmt.Println(s[0])
	fmt.Println(s[1])
	fmt.Println(s[2])
}

C++: #include<stdio.h>
#include<algorithm>
  
int main() {
    int m[10];
 
    for (int i = 0; i < 10; i++)scanf("%d",%m[i]);
 
    stable_sort(m, m + 10);
 
    for (int i = 9; i > 6; i--)printf("%d\n",&m[i]);
 
    return 0;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;

int main()
{
    int A[10];
       
    for (int i=1; i<=10; i++)
    {
        cout << "height of mountain " << i;
        cin >> A[i];
    }
    
    sort (A, A+10);
    reverse(A, A+10);
    
    for (int e=1; e<=3; e++)
    {
        cout << "height of the" << e << "st mountain" << A[e] << endl;
    }

    return 0; 
}

C++: #include<iostream>
#include<vector>
#include<algorithm>

int main(){
	std::vector<int> o;
	for(int i=1;i<=10;i++)int in=0,o.push_back(in);
	std::sort(o.begin(),o.end());
	std::cout<<o[7]<<std::endl<<o[8]<<std::endl<<o[9]<<std::endl;
}

C++: #include <iostream>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <stdlib.h>

using namespace std;


int main(){

	int i,j;
	int top1=0, top2=0, top3=0;
	int temp1, temp2;

	for(i=0 ; i<10 ; i++){
		cin >> temp1;
		if(temp1 >= top1){
			top3 = top2;
			top2 = top1;
			top1 = temp1;
		}else if((temp1 < top1) && (temp1 >= top2)){
			top3 = top2;
			top2 = temp1;
		}else if(temp1 >= top3){
			top3 = temp1;
		}
	}

		cout << top1 << endl;
		cout << top2 << endl;
		cout << top3 << endl;

	return 0;
}

C++: #include<iostream>
using namespace std;

int main() {
  int array[10], tmp;

  for (int i = 0; i < 10; i++) {
    cin >> array[i];
  }

  for(int j = 0; i < 10; j++) {
    for(int k = 0; k < 9; k++) {
      if (array[k] < array[k+1]) {
        tmp = array[k];
        array[k] = array[k+1];
        array[k+1] = tmp;
      }
    }
  }

  for(int l = 0; l < 3; l++) {
    cout << array[l] << endl;
  }

  return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main()
{
	int a[10];
	for(int i=0;i<10;i++)
		cin>>a[i];
	sort(a,a+10);
	cout<<a[9]<<endl<<a[8]<<endl<<a[7]<<endl;
	return 0;
}

C++: #include<stdio.h>
int main(void)
{
	int a,b,max= 0,max2=0,max3=0;
	for(a 1;a<=10;a++){
		scanf("%d",&b);
		if(b>max) {
			max=b;
		}
		else if(b>max2){
			max2=b;
		}
		else if(b>max3){
			max3=b;
		}
	}
		printf("%d\n %d\n %d\n",max,max2,max3);
		return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <functional>

int main(){
	int a[10];

	for (int i = 0; i != 10; i++)
		std::cin >> a[i];
	std::sort(a, a + 10, std::greater<int>());
	for (int j = 0; j != 3; j++)
		std::cout << a[j] << std::endl;
	return 0;
}

C++: #include<stdio.h>
#include<math.h>
#include<algorithm>

int main()
{
	int x[10];
	for (int i = 1; i <= 10; i++) {
		scanf("%d", &x[i]);
	}
	int m = 0;
	for (int i = 10000; i >= 0; i--) {
		for (int j = 1; j <= 10; j++) {
			if (i == x[j]) {
				printf("%d\n", i);
				m++;
			}
			if (m == 3) {
				break;
			}
		}
		if (m == 3) {
			break;
		}
	}
	return 0;
}

C++: #include<iostream>
#include<queue>
using namespace std;
priority_queue<int> q1;
int main(){
	int i,j;
	for(i=0;i<10;i++){
		cin>>j;
		q1.push(j);
	}
	for(i=0;i<3;i++){
		cout<<q1.top()<<endl;
	}
	return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main(){
	vector<int> v(3,0);
	int s;
	for(int i = 0; i < 10; i++){
		sort(v.begin(),v.end());
		cin >> s;
		if(v[0] < s){
			v[0] = s;
		}
	}

	sort(v.begin(),v.end());
	for(int i = 0; i < 3; i++){
		cout << v[2-i] << endl;
	}

}

C++: #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <string>
#include <sstream>
#include <complex>
#include <vector>
#include <list>
#include <queue>
#include <deque>
#include <stack>
#include <map>
#include <set>
#include <iomanip>
#define rep(i, n) for (int i = 0; i < (int)(n); i++)

using namespace std;

int main() {
	vector<int> a(10.0);
	for (int i = 0; i < 10; i++) {
		cin >> a[i];
	}
	sort(a.rbegin(), a.rend());
	for (int i = 0; i < 3; i++) {
		cout << a[i] << endl;
	}
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int T,t3=0,t2=0,t1=0;
	for(int i=0;i>10;i++){
		cin>>T;
		if(T>=t1){
			t1=T;
			t2=t1;
			t3=t2;
		}
		else if(T>=t2){
			t2=T;
			t3=t2;
		}
		else if(T>=t3){
			t3=T;
		}
	}
	cout<<t1<<endl<<t2<<endl<<t3;
	return 0;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;

int main (){
    int i = 0;
    int height[10];
    for(i = 0; i < 10; i++){
        cin >> height[i];
    }
    //??????????????????
    sort(height, height + 10, greater<int>());
    //???3?????¨???
    for(i = 0; i < 3; i++){
        cout << height[i] << endl;
    }

    return 0;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;

int main()
{
	int n[10],i=0;

	while (cin >> n[i])
		i++;
	sort(n,n+i,greater<int>());
	for (int j=0; j < 3; j++) {
		cout << n[j] << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
  std::cin.tie(0);
  std::ios::sync_with_stdio(false);

  int i, input;
  vector<int> heights;
  for (i = 0; i < 10; i++) {
    cin >> input;
    heights.push_back(input);
  }

  sort(heights.rbegin(), heights.rend());
  cout << heights.at(0) << endl;
  cout << heights.at(1) << endl;
  cout << heights.at(2) << endl;

  return 0;
}

C++: #include<iostream>

int main(){
    int a[10],i,j,n;
    for(i=0;i<10;i++){
        std::cin>>a[i];
        }
        
        for(i=0;i<9;i++){
        	for(j=i+1;j<10;j++){
        		if(a[i]<a[j]){
			n=a[i];
			a[i]=a[j];
			a[j]=n;
			}
		}	
	}
	for(i=0;i<3;i++){
	std::cout<<a[i]<<std::endl;
	}       	
	
	return 0;
}

C++: #include <stdio.h>
#include <stdlib.h>
#include <math.h>
#pragma warning(disable:4996)

int main()
{

	int MontainIn[10];

	for (int nCnt = 0; nCnt < 10; nCnt++)
		scanf("%d", &MontainIn[nCnt]);

	for (int nCnt = 0; nCnt < 10; nCnt++)
	{
		for (int nCnt2 = 0 ; nCnt2 < 10; nCnt2++)
		{
			if (nCnt2 == nCnt)
				continue;

			if (MontainIn[nCnt] > MontainIn[nCnt2])
			{
				MontainIn[nCnt] ^= MontainIn[nCnt2];
				MontainIn[nCnt2] ^= MontainIn[nCnt];
				MontainIn[nCnt] ^= MontainIn[nCnt2];
			}
		}
	}

	for (int nCnt = 0; nCnt < 3; nCnt++)
		printf("%d\n", MontainIn[nCnt]);

	return 0;
}

C++: #include <stdio.h>

void bubble_sort(int[10]);

int main(){
	int i, height[10];
	for(i=0; i<10; ++i){
		scanf("%d", &height[i]);	
	}

	bubble_sort(height);

	printf("--\n");
	for(i=9; i>6; --i){
		printf("%d\n", height[i]);
	}
	
	return 0;
}

void bubble_sort(int a[10]){
	int i, j, k;
	for(i=9; i>0; --i){
		for(j=0; j<i; ++j){
			if(a[j+1] < a[j]){
				k = a[j+1];
				a[j+1] = a[j];
				a[j] = k;
			}
		}
	}
}

C++: #include <iostream>
#include <array>
#include <utility>

template<class T>
T input()
{
	T val;
	std::cin >> val;
	return val;
}

int main()
{
	std::array<int, 10> high;
	for (int i = 0; i < 10; ++i)
		high[i] = input<int>();

	std::sort(high.begin(), high.end());

	std::cout << high[9] << " " << high[8] << " " << high[7] << std::endl;
}