Go: package main

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

func main() {
	mountHeightList := make([]int64, 10)
	scanner := bufio.NewScanner(os.Stdin)
	for i := 0; i < 10; i++ {
		scanner.Scan()
		mountHeightList[i], _ = strconv.ParseInt(scanner.Text(), 10, 64)
	}

	sort.Slice(mountHeightList, func(i, j int) bool { return mountHeightList[i] > mountHeightList[j] })

	for i := 0; i < 3; i++ {
		fmt.Printf("%d\n", mountHeightList[i])
	}
}

C++: #include<iostream.h>
#include<conio.h>

using namespace std;
int main()
{
int mountheight[10];
for(int i=0;i<10;i++)
{
cin>>mountheight[i];
}
int max[3];
max[0]=mountheight[0];
max[1]=mountheight[0];
max[2]=mountheight[0];
for(i=1;i<10;i++)
{
if(mountheight[i]>max[0])
{
max[0]=mountheight[i];
}
}
for(i=1;i<10;i++)
{
if(mountheight[i]>max[1]&&mountheight[i]!=max[0])
{
max[1]=mountheight[j];
}
}
for(i=1;i<10;i++)
{
if(mountheight[i]>max[2]&&mountheight[i]!=max[0]&&mountheight[i]!=max[1])
{
max[2]=mountheight[j];
}
}
cout<<max[0];
cout<<max[1];
cout<<max[2];
return 0;
}

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

using namespace std;

int main(){
	vector<int> v;
	for( int i=0; i<10; i++)
	{
		int n;
		cin>>n;
		v.push_back(n);
	}
	
	sort( v.begin(), v.end(), greater<int>() );

	cout << v[0] << endl ;
	cout << v[1] << endl ;
	cout << v[2] << endl ;

	return 0;
}

C++: #include <iostream>

int main(int argc, const char *argv[]) {
    int top1 = 0, top2 = 0, top3 = 0;
    for (int i = 0, h; i < 10 && std::cin >> h; i++) {
        if (h >= top1) {
            top3 = top2;
            top2 = top1;
            top1 = h;
        } else if (h >= top2) {
            top3 = top2;
            top2 = h;
        } else if (h >= top3) {
            top3 = h;
        }
    }
    std::cout << top1 << std::endl << top2 << std::endl << top3 << std::endl;
    return 0;
}

C++: #include<iostream>
#include<vector>
#include<algorithm>
#include <functional>
using namespace std;
int main()
{
	vector<int> m;
	int n;
	for (int i = 0; i < 10; i++)
	{
		cin >> n;
		m.push_back(n);
	}
	sort(m.begin(), m.end(), std::greater<int>());
	for (int i = 0; i < 3; i++)
		cout << m[i] << endl;
	return 0;
}

C++: #include <stdio.h>

int main(void)
{
	int i,high[3]={0,0,0},temp=0;
	for (i=0;i<10;i++){
		scanf("%d",&temp);
		if (high[2]<temp){
			high[2]=high[1];
			if (high[1]<temp){
				high[1]=high[0];
				if (high[0]<temp){
					high[0]=temp;
				}else{
					high[1]=temp;
				}
			}else{
				high[2]=temp;
			}
		}
	}
	
	for (i=0;i<3;i++){
		printf("%d\n",high[i]);
	}
	return 0;
}

C++: #include<stdio.h>
int mian(void)
{
	int i,j,n[11],w;
	for(i=0;i<10;i++){
		scanf("%d",n[i]);
	}
	for(i=0;i<10;i++){
		for(j=0;j<=10;j++){
			if(n[j]<=n[i]){
				w=n[i];
				n[i]=n[j];
				n[j]=w;
			}
		}
	}
	for(i=0;i<3;i++){
		printf("%d\n",y[i]);
	}
	return 0;
}