Go: package main

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

var scanner = bufio.NewScanner(os.Stdin)

func nextInt() int {
	scanner.Scan()
	i, e := strconv.Atoi(scanner.Text())
	if e != nil {
		panic(e)
	}
	return i
}
func main() {
	heighs := make([]int, 10)
	for i := range heighs {
		heighs[i] = nextInt()
	}
	sort.Sort(sort.Reverse(sort.IntSlice(heighs)))
	for i := 0; i < 3; i++ {
		fmt.Println(heighs[i])
	}
}

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

int main() {
	int n[10],top,tap,min,h=0;
	for(int i=0;i<10;i++){
		cin>>n[i];
	}
	for(int j=0;j<10;j++){
				if(top<n[j]){
					h=top;
					min=tap;
					top=n[j];
					tap=h;
					h=0;
				}
				else if(tap<n[j]){
					min=tap;
					tap=n[j];
				}
				else if(min<n[j]){
					min=n[j];
				}
			}
	cout<<top<<"\n"<<tap<<"\n"<<min<<endl;
	return 0;
}

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

using namespace std;

int main(){

  int in;
  vector<int> V;

  while(cin >> in){
    V.push_back(in);
  }

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

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

  return 0;
}

C++: #include <stdio.h>
#include <stdlib.h>

int int_cmp(const int *a, const int *b)
{
    if (*a > *b)
        return (-1);
    else if (*a < *b)
        return (1);
    return (0);
}

int main(void){
    int i;
	int x[10];
	for(i=0;i<10;i++){
		scanf("%d",&x[i]);
	}
	qsort(x,10,sizeof(int),  (int(*)(const void*, const void*))int_cmp);

	printf("%d\n%d\n%d\n",x[0],x[1],x[2]);

}

C++: #include<iostream>
#include<cstdio>
#include<algorithm>
#include<functional>
 
using namespace std;
 
int main(){
int height[10000], i=0;
 
while(cin >> height[i++]);
 
partial_sort(height, height+3, height+i, greater<int>());
 
cout << height[0] << endl;
cout << height[1] << endl;
cout << height[2] << endl;
 
return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <cmath>
#include <string>
#include <sstream>
#include <iomanip>
#include <complex>
using namespace std;

#define ll long long
#define vvi vector< vector<int> >
#define All(X) X.begin(),X.end()
#define FOR(i,a,b) for(int i=(int)(a);i<(int)(b);i++)
#define REP(i,n) for(int i=0;i<(int)(n);i++)
#define pb push_back 
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
ll lcm(ll a,ll b){return a/gcd(a,b)*b;}

vector<int> data;

int main(){
	REP(i,10){
		int tmp;
		cin >> tmp;
		data.pb(tmp);
	}
	sort(All(data));
	cout << data[9] << endl;
	cout << data[8] << endl;
	cout << data[7] << endl;
	return 0;
}

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


int N,M,p,d[10000],x[4],r,l;
int main(){
for(int i=0;i<10;i++){
cin>>d[i];
}
sort(d,d+10);
for(int i=0;i<3;i++){
cout<<d[i]<<endl;}
return 0;
}

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

int main()
{
	int x[10];
	int i,j,tmp;
	for(i=0;i<10;i++){
		cin >> x[i];
	}
	for(i=0;i<n-1;i++){
		for(j=n-1;j>i;j--){
			if(x[j]<x[j-1]){
				tmp = x[j];
				x[j] = x[j-1];
				x[j-1] = x[j];
			}
		}
	}
	cout <<x[0] <<endl;
	cout <<x[1] <<endl;
	cout <<x[2] <<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<cstdio>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
  int hill;
  vector<int> ar;
  for(int i=0;i<10;i++){
    cin >> hill;
    ar.push_back( hill );
  }
  sort( ar.begin() , ar.end() , greater<int>() ); // 降順ソート
  for(int i=0;i<3;i++){
    cout << ar[i] << endl;
  }
  ar.clear();
}

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;
	cout << a[8] << endl;
	cout << a[7] << endl;
}

C++: #include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;

int main(void){
	int x[10],top[3];
	int i;

	for(i=0;i<3;i++){
		top[i] = 0;
	}
	for(i=0;i<10;i++){
		std::cin >> x[i];
		if(top[0] < x[i]){
			top[2] = top[1];
			top[1] = top[0];
			top[0] = x[i];
		}
		if(top[1] < x[i]){
			top[2] = top[1];
			top[1] = x[i];
		}
		if(top[2] < x[i]){
			top[2] = x[i];
		}
	}

	std::cout << top[0] << "\n" << top[1] << "\n" <<top[2] << "\n";
	return 0;

C++: #include <bits/stdc++.h>
using namespace std;

int main(){
	int a[10];
	for(int i=0;i<10;i++) cin>>a[i];
	sort(a,a+10);
	for(int i=9;i>=7;i--) cout<<a[i]<<endl;
	return 0;
}

C++: num = []
i=0
while i < 10
      num[i] = gets.to_i
      i+=1
end

num.sort!{|a, b| (-1) * (a <=> b)}

for n in 0..2
    puts "#{num[n]}"
end

C++: #include<iostream>
using namespace std;
int main()
{
	int mhr[20],i,j,c;
	for(i=1; i<=10; i++)
	{
		cin >> mhr[i];
	}
	for(i=1; i<=10; i++)
	{
		for(j=1; j<=10; j++)
		{
			if(mhr[j]<mhr[j+1])
			{
				c=mhr[j];
				mhr[j]=mhr[j+1];
				mhr[j+1]=c;
			}

		}
	}
	for(i=1; i<=3; i++)
	{
		cout << mhr[i] << endl;
	}

    return 0;
}

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

int main()
{
	int i,a[10],no1,no2,no3,x;
	no1=0; no2=0; no3=0;
	for(i=0;i<10;i++){
		cin>>a[i];
	}
	for(i=0;i<10;i++){
		if(no3<a[i]){ no3=a[i];}
		if(no2<no3){ x=no2; no2=no3; no3=x;}
		if(no1<no2){ x=no1; no1=no2; no2=x;}
	}
	cout<<no1<<endl<<no2<<endl<<no3<<endl;
}

C++: #include<iostream>
using namespace std;
int main() {
	int a[10],min1=-1,min2=-1,min3=-1, i,j,k,l;
	for (i = 1; i <= 10; i++) {
		cin >> a[i];
	}
	for (j = 1; j <= 10; j++) {
		if (a[j] > min1) {
			min1 = a[j];
		}
	}
	for (k = 1; k <= 10; k++) {
		if (a[k] > min2 && a[k]!=min1) {
			min2 = a[k];
		}
	}
	for (l = 1; l <= 10; l++) {
		if (a[l] > min3&&a[l]!=min2&&a[l]!=min1) {
			min3 = a[l];
		}
	}
	cout << min3 << endl << min2 << endl << min1  << endl;
	return 0;
}

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

using namespace std;

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

    }

    //排序部分。????排序。
    for(int i = 0; i < 3 ; i++) //?出前三名
    {
        int max = i;
        for(int j = i; j < 10; j++)
        {
            if(a[j] > a[max])
            {
                max = j;
            }
        }
        int temp = a[max];
        a[max] = a[i];
        a[i] = temp;
        printf("%d\n", a[i]);
    }

    return 0;
}

C++: #include<iostream>
using namespace std;
int main()
{	
	int a[10] = {};
	int i = 0;
	while (cin >> a[i]) {
		i++;
		if (i == 10)break;
	}
	int max;
	for (int j = 0; j < 3; j++) {
		max = j;
		for (int k = j + 1; k < 10; k++) {
			if (a[max] < a[k]) {
				max = k;
			}
		}
		cout << a[max] << endl;
		a[max] = 0;
	}
	return 0;
}

C++: #include <iostream>
#include <cmath>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <sstream>
#include <string>
#include <cstdlib>
using namespace std;

template <class T> int streamvar(std::istream& in, T& var)
{
    if (!in) {
        return 1;
    }
    in >> var;
    if (in.fail()) {
        return 1;
    }
    return 0;
}
template <class T> int streamvec(std::istream& in, std::vector<T> &v)
{
    v.clear();
    string s;

    if (!in) {
        return 1;
    }
    getline(in, s);
    if (in.fail()) {
        return 1;
    }
    istringstream is(s);
    while (1) {
        T tmp;
        is >> tmp;
        if (is.fail())
            break;
        v.push_back(tmp);
    }
    return 0;
}

int main(void)
{
    vector<int> v;
    int tmp;
    while (!streamvar(cin, tmp)) {
        v.push_back(tmp);
    }
    sort(v.begin(), v.end(), greater<int>());
    cout << v[0] << " " << v[1] << " " << v[2] << endl;
    return 0;
}