Go: package main

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

func getsAsIntArray() (line []int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}
		data, err := strconv.Atoi(str)
		if err != nil {
			break
		}
		line = append(line, data)
	}

	return
}

func main() {

	lines := getsAsIntArray()
	sort.Sort(sort.Reverse(sort.IntSlice(lines)))
	for i, v := range lines {
		if i < 3 {
			fmt.Println(v)
		}
	}
}

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

int main()
{
  int h1, h2, h3, n;
  h1 = h2 = h3 = 0;
  for(int i = 0; i < 10; i++){
    cin >> n;
    h1 = (i == 0) ? n : h1;
    h2 = (i == 1) ? n : h2;
    h3 = (i == 2) ? n : h3;
    if(i > 2){
      if(n > h1){
	h3 = h2;
	h2 = h1;
	h1 = n;
      }else{
	if(n > h2){
	  h3 = h2;
	  h2 = n;
	}else{
	  if(n > h3){
	    h3 = n;
	  }
	}
      }
    }
  }
  cout << h1 << endl << h2 << endl << h3 << endl;
}

C++: #include<bits/stdc++.h>
using namespace std;
int h[10];
int main(){
    for(int i=0;i<10;i++)cin>>h[i];
    sort(h,h+10,greater<int>());
    for(int i=0;i<3;i++){cout<<h[i]<<endl;}
}

C++: import java.io.*;
import java.util.*;
  
class Main{
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InutStreamReader(System.in));
int n=10;
int[] k=new int[n];
for(int i=0;i<n;i++){
k[i]=Integer.parseInt(br.readLine());
}
Arrays.sort(k);
for(int i=0;i<3;i++){
System.out.println(k[n-i-1]);
}
}
}

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

using namespace std;

int main(){

	int A[10];
	int i;

	for(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 <iostream>
using namespace std;
#define N 10
int max(int x[], int n)
{
	int i,j;
	j=0;
	for(i=1; i<n; i++)
		if(x[i]<x[j]) j=i;
		return j;
}
void sel_sort(int x[], int n)
{
	int i, j;
	for(i=n; i>1; i--)
		{ j=max(x,i);   int temp=x[j];   x[j]=x[i-1];  x[i-1]=temp; }
	}
void main()
{
	int a[N], i;
	while(cin>>a[0])
	{
	for(i=1; i<N; i++)
		cin>>a[i];
	sel_sort(a, N);
	for(i=0; i<3; i++)
		cout<<a[i]<<endl;
	}
	
}

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

int main() {
	int h[10],max;
	for (int i = 0; i < 10; i++) {
		cin >> h[i];
	}
	
	for (int j = 0; j < 3; j++) {
		max = 0;
		for (int i = 1; i < 10; i++) {
			if (max < h[i])
				max = i;
		}
		cout << h[max] << "\n";
		h[max] = -1;
	}
	return 0;
}

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

#define rep(i,n) for(int i = 0; i < n; i++)
#define ll long long
#define EPS 1.0e-8
#define MAX_N 100

int num[10];

int main(){
	rep(i,10) cin >> num[i];
	sort(num,num+10,greater<int>());
	printf("%d\n%d\n%d\n",num[0], num[1], num[2]);
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
int main(void){
    std::vector<int> a;
    for(int i=0;i<10;i++){
      int b;
      std::cin>>b;
      a.push_back(b);
    }
    sort(a.begin(),a.end(),std::greater<int>());
    for(int j=0;j<3;j++){
       std::cout<<a[j]<<"\n";
    }
}

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());

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

    return 0;
}

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

#define iota(i,n,b,s) for(int i=int(b);i!=int((b)+(s)*(n));i+=(s))
#define range(i,n,m) iota(i,(((n)>(m))?((n)-(m)+1):((m)-(n)+1)),(n),((n)>(m)?-1:1))
#define rep(i,n) iota(i,(n),0,1)

#define INF (1e9)
#define EPS (1e-9)
#define cons(a,b) (make_pair(a,b))
#define car(a) (a.first)
#define cdr(a) (a.second)
#define cadr(a) (car(cdr(a)))
#define cddr(a) (cdr(cdr(a)))
#define all(a) a.begin(), a.end()
#define trace(var) cerr<<">>> "<<#var<<" = "<<var<<endl;

typedef long long INTEGER;
typedef double FLOAT;

template<class S, class T>
ostream& operator<<(ostream& os, pair<S,T> p) {
  os << '(' << car(p) << ", " << cdr(p) << ')';
  return os;
}

template<class T>
ostream& operator<<(ostream& os, vector<T> v) {
  os << v[0];
  for (int i=1, len=v.size(); i<len; ++i) os << ' ' << v[i];
  return os;
}

void swap(int*a, int*b) {
  int t = *b;
  *b = *a;
  *a = t;
}

int main() {

  int hs[4];
  hs[3] = -1;

  rep (i, 10) {
    int h; cin >> h;
    if (i < 3) {
      hs[i] = h;
    } else {
      hs[3] = h;
      sort(hs, hs + 4);
      swap(hs, hs + 3);
      swap(hs + 1, hs + 2);
    }
  }

  rep (i, 3) {
    cout << hs[i] << endl;
  }

  return 0;
}

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

int main(){
int a[10],i=0;
for(;i<10;i++){
scanf("%d",&a[i]);
}
sort(a,a+10);
for(;i>6;i--){
printf("%d\n",a[i]);
}
return 0;
}

C++: #include<iostream>
#include<vector>
int main(){
	std::vector<int> vec(10);
	for(int i=0;i<10;i++){
		std::cin>>vec[i];
	}
	while(1){
		int a,b=0;
		for(int j=0;j<10;j++){
			if(vec[j]>vec[j+1]&&j+1<10){
				a=0;
				a=vec[j];
				vec[j]=vec[j+1];
				vec[j+1]=a;
				b++;
			}
		}
		if(b==0)break;
	}
	for(int i=0;i<3;i++){
		std::cout<<vec[i]<<std::endl;
	}
	return 0;
}

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

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

	for(int i = 9; i >= 7; i--)
		cout << v[i] << endl;

	return 0;
}

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

void cswap(int &x, int &y)
{
    int tmp = x;
    x = y;
    y = tmp;
}

int main(void){

	int a[11],i,max1,max2,max3;

	for (i=1; i<11; i++){
		while (true){ 
		cout << "山の高さ" << i << "（整数）" ;			
		cin >> a[i];
		if ((cin.good() == 1) && (a[i] >= 0) && (a[i] <= 10000)) {
			break;
		}
		}	
	}

	max1 = a[1];

	for (i=2; i<11; i++){
		if (max1 < a[i]){
			cswap(max1,a[i]);
		}
	}
	max2 = a[2];

	for (i=3; i<11; i++){
		if (max2 < a[i]){
			cswap(max2,a[i]);
		}
	}
	max3 = a[3];

	for (i=4; i<11; i++){
		if (max3 < a[i]){
			cswap(max3,a[i]);
		}
	}


		cout << max1 << endl;
		cout << max2 << endl;
		cout << max3 << endl;
		

return 0;
	}

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

int main() {
	ios_base::sync_with_stdio( false );

	vector<int> mts( 10 );
	for( auto& v: mts ) { cin >> v; }

	sort( mts.begin(), mts.end(), greater<>() );

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