Go: package main

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

var rdr = bufio.NewReaderSize(os.Stdin, 1000000)

func readLine() string {
	buf := make([]byte, 0, 1000000)
	for {
		l, p, e := rdr.ReadLine()
		if e != nil {
			panic(e)
		}
		buf = append(buf, l...)
		if !p {
			break
		}
	}
	return string(buf)
}

func toInt(str string) int {
	n, _ := strconv.Atoi(str)
	return n
}

func main() {
	lst := make([]int, 0)
	for i := 0; i < 10; i++ {
		lst = append(lst, toInt(readLine()))
	}
	sort.Ints(lst)
	for i := 9; i > 6; i-- {
		fmt.Println(lst[i])
	}
}

C++: #include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <fstream>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <unordered_map>

using namespace std;

int main(){
	int m;
	int max[3] = {0};
	for(int i = 0; i < 10; i++){
		cin >> m;
		if(m > max[0]){
			max[2] = max[1];
			max[1] = max[0];
			max[0] = m;
		}else if(m > max[1]){
			max[2] = max[1];
			max[1] = m;
		}else if(m > max[2]){
			max[2] = m;
		}
	}
	
	cout << max[0] << endl;
	cout << max[1] << endl;
	cout << max[2] << endl;
	
    return 0;
}

C++: #include<iostream>
int main(){
int a[10000],l=0,t,c=3;
while(std::cin>>a[l++]);
for(int i=0;i<l-1;i++){
for(int j=i+1;j<l;j++){
if(a[i]<a[j]){
t=a[i];a[i]=a[j];a[j]=t;
}
}
}
while(c--)std::cout<<a[2-c]<<std::endl;
}

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

const int SIZE = 10;

int Sort(int A[], int N, int name) {
	int j, i, v;

	for (i = 1; i < N; i++) {
		v = A[i];
		j = i - 1;
		while (j >= 0 && A[j] > v) {
			A[j + 1] = A[j];
			j--;
		}
		A[j + 1] = v;
	}
	return A[name];

}

int main(){
	int Height[10];
	int sort[3];

	cout << "?±±??????????????\?????????????????????(10000?????????????????§??\??????)" << endl;
	for (int i = 0; i < SIZE; i++) {
		cout << "?±±?????????" << i + 1 << ">";
		cin >> Height[i];
		if (Height[i] > 10000) {
			Height[i] = 0;
			cout << "?????????????????\??????????????????" << endl;
			i--;
		}
	}

	sort[0] = Sort(Height, SIZE, 9);
	sort[1] = Sort(Height, SIZE, 8);
	sort[2] = Sort(Height, SIZE, 7);

	cout << "?????????????±±???" << sort[0] << "??§???" << endl;
	cout << "2????????????????±±???" << sort[1] << "??§???" << endl;
	cout << "3????????????????±±???" << sort[2] << "??§???" << endl;

	return 0;
}

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

using namespace std;

const int numOfMountain = 10;

int main(int argc, char** argv){
    int mountainBuf;
    vector<int> mountains;

    for(int i = 0; i <= numOfMountain; i++) {
        mountainBuf = atoi(argv[i]);
        mountains.push_back(mountainBuf);
    }

    sort(mountains.begin(), mountains.end());

    vector<int>::iterator out = mountains.end();
    for(int i = 0; i < 3; i++) {
        cout << *--out << endl;
    }

    return 0;
}

C++: #include <iostream>

int main()
{
    int i,high[10];
    for(i = 0;i < 10;++i){
        cin >> high[i];
    }
    sort(high[0]);
    cout << high[0];
    cout << high[1];
    cout << high[2];
}

void sort(int *a)
{
    int i,first = 0,secand = 0,third = 0;
    for(i = 0;i < 10;++i){
       if(first < *(a + i)){
           first = *(a + i);
       }else if(secand < *(a + i)){
           secand = *(a + i);
       }else if(third < *(a + i)){
           third = *(a + i);
       }
    }
    *a = first;
    *(a + 1) = secand;
    *(a + 2) = third;
}

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

int main(void){
	int mt[10];
	for(int i=0;i<10;i++)
		cin>>mt[i];
	int max_mt[3]={0,};
	for(int j=0;j<3;j++){
		for(int k=0;k<10;k++){
			max_mt[j]=max(max_mt[j],mt[k]);
		}
		cout<<max_mt[j]<<endl;
		for(int ll=0;ll<10;ll++)
			if(max_mt[j]==mt[ll])
				mt[ll]=0;
	}
	return 0;
}

C++: #include <stdio.h>

void main(void)
{

	int a[3] = {0,0,0};
	int b,c;

	for(int i = 0; i < 10; i++){
		scanf("%d", &b);
		for(int j = 2; j >= 0; j--){
			if(a[j] < b){
				c = a[j];
				a[j] = b;
				b = c;
			}
		}
	}
	for(int i = 2; i >= 0; i--)
		printf("%d\n", a[i]);

}

C++: #include<iostream>
using namespace std;
int main() {
	double h1,h2,h3;
	h1=-1;
	h2=-1;
	h3=-1;
	double h;
	for(int i=0;i<10;i++) {
		cin >> h;
		if(h > h1) {
			h3 = h2;
			h2 = h1;
			h1 = h;
		}
		else if(h > h2) {
			h3 = h2;
			h2 = h;
		}
		else if(h > h3) {
			h3 = h;
		}
	}
	
	cout << h1 << endl;
	cout << h2 << endl;
	cout << h3 << endl;
	
	return 0;
}

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

int main(){
int m[10];
for (int i =0; i < 10; i++){
 cin << m ;
}
m.sort();
cout << m[9] << endl;
cout << m[8] << endl;
cout << m[7] << endl;
    return 0;
}

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

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

namespace
{
	std::vector<unsigned int> altitude(10);
}

int main()
{
	for (unsigned int i = 0; i < 10; i++)
	{
		std::scanf("%u", &altitude[i]);
	}
	std::sort(altitude.begin(), altitude.end(), std::greater<unsigned int>());
	for (unsigned int i = 0; i < 3; i++)
	{
		std::printf("%u\n", altitude[i]);
	}
	return 0;
}

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

int main(){
	int i=0;
	int m[10];
	for(i=0;i<10;i++)
	{
		cin>>m[i];
		while(0>m[i]||m[i]>10000)
			cin>>m[i];

	}
	
	int temp=0;
	i=0;
	
	for(i=0;i<10;i++)
	{
		if(temp<m[i])
		{
			temp=m[i];
		}
	}
	int f=temp;
	i=0;
	temp=0;
	for(i=0;i<10;i++)
	{
		if(temp<m[i]&&m[i]<f)
		{
			temp=m[i];
		}
	}
	int s=temp;
	i=0;
	temp=0;
	for(i=0;i<10;i++)
	{
		if(temp<m[i]&&m[i]<s)
		{
			temp=m[i];
		}
	}
	int t=temp;
	
	cout<<f<<endl<<s<<endl<<t<<endl;

    return 0;
}

C++: #include <iostream>
#include <cstdio>

using namespace std;

int main()
{
	int hM[10], I, K, temp;

	for(I = 0; I < 10; I = I + 1)
		scanf("%d", &hM[I]);

	for(I = 0; I < 9; I = I + 1)
		for(K = 0; K < 9 - I; K = K + 1)
			if(hM[K] < hM[K + 1])
			{
				temp = hM[K];
				hM[K] = hM[K + 1];
				hM[K + 1] = temp;
			}

	for(I = 0; I < 3; I = I + 1)
		printf("%d\n", hM[I]);

	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 <vector>
#include <algorithm>
#include <functional>
using namespace std;
int main() {
    vector<int> h;
    int input;
    for (int i=0; i<10; ++i) {
        cin >> input;
        h.push_back(input);
    }

    partial_sort(h.begin(), h.begin()+3, h.end(), greater<int>());

    cout << h[0] << endl;
    cout << h[1] << endl;
    cout << h[2] << endl;
    return 0;
}

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

using namespace std;

int main(){
	vector<int> v;

	for(int i = 0; i < 10; i++){
		int h;
		cin >> h;
		v.push_back(h);
	}

	sort(v.begin(), v.end());
	reverse(v.begin(), v.end());

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

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