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<stdio.h>
 
int main(void){
 
    /* 宣言と初期化 */
    int hai[10];
    int i;
    int temp2nd;
    int temp3rd;
    int tempmax;
 
for(i=0;i<10;i++)
{
printf("山の高さ　");
scanf("%d",hai[i]);
}
    /* 代入 */
    temp2nd=hai[0];
    tempmax=hai[0];
    temp3rd=hai[0];
 
    /* 計算 */
    for(i=0;i<=10;i++){
        /* 最大値求める */
        if(hai[i]>tempmax)
        tempmax=hai[i];
    }
 
    for(i=0;i<=10;i++){
        /*2番目求める */
        if(hai[i]<tempmax&&hai[i]>temp2nd)
        temp2nd=hai[i];
    }
 
    for(i=0;i<=10;i++){
        /* 3番目求める */
        if(hai[i]>temp3rd&&hai[i]<temp2nd)
        temp3rd=hai[i];
    }
 
    /* 表示 */
    printf("最も高い山の高さ　%d\n",tempmax);
    printf("２番目に高い山の高さ　%d\n",temp2nd);
    printf("３番目に高い山の高さ　%d\n",temp3rd);
 
    return 0;
}

C++: #include <iostream>
#include <stdio.h>
#define _USE_MATH_DEFINES
#include <cmath>
#include<algorithm>
using namespace std;
int main()
{
    int a[10],i;
    for(i=0;i<10;i++)cin>>a[i];
    sort(a,a+10);
    for(i=9;i>6;i--)cout<<a[i]<<endl;
    return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
    int x, rank01,rank02,rank03 = 0;
    
    for(int i = 0; i < 10; i++){
        cin >> x;
        if(rank01 < x){
            rank01 = x;
        }
        else if(rank02 < x){
            rank02 = x;
        }
        else if (rank03 < x){
            rank03 = x;
        }
    }
    
    std::cout << rank01 << std::endl;
    std::cout << rank02 << std::endl;
    std::cout << rank03 << std::endl;
    
}

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

int main(){
  int array[10];
  
  for(int i=0; i<10; i++){
    std::cin >> array[i];
  }
  std::sort(array.begin(), array.end());
  
  for(int i=0; i<3; i++){
    std::cout << array[i] << std::endl;
  }
  
  return 0;
}

C++: #include<stdio.h>
const int N= 15;
int main()
{
	int a[N]={0};
	for(int i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	for(int i=0;i<10;i++)
	{
		for(int j=i;j<10;j++)
		{
			if(a[i]<a[j])
			{
				int tmp =a[i];
				a[i]=a[j];
				a[j]=tmp;
				 
			}
		}
	}
	for(int i=0;i<3;i++)
	{
		printf("%d\n",a[i]); 
	}
	return 0;
}

C++: #include <iostream>
#include <cstdlib>
#include <ctime>

#define N 10

using namespace std;


bool check(int mountain[N]){
	for (int i=0; i<(N-1); ++i){
		if (mountain[i] < mountain[i+1]){
			return false;
		}
	}
	return true;
}

void swap(int& a, int& b){
	int tmp = a;
	a = b;
	b = tmp;
}

void bubble_sort(int mountain[N]){
	for (int i=0; i<N; ++i){
		for (int j=0; j<(N-i); ++j){
			if (mountain[j] < mountain[j+1]){
				swap(mountain[j], mountain[j+1]);
			}
		}
	}
}

int main(void){
	srand(time(NULL));
	int counter = 0;
	/*while (counter == 0){*/
		int mountain[N];
		for (int i=0; i<N; ++i){
			int tmp;
			do{
				cin >> tmp;
				/*tmp = rand() % 10001;*/
				/*cout << tmp << endl;*/
			}while ((tmp<0) || (10000 < tmp));
			mountain[i] = tmp;
		}
		bubble_sort(mountain);

		//cout << "output" << endl;
		for (int i=0; i<3; ++i){
			cout << mountain[i] << endl;
		}
		/*if (check(mountain) == false){
			cout << "Error!" << endl;
		}
		else{
			cout << "OK" << endl;
		}
		cout << "counterの入力:";
		cin >> counter;*/
	/*}*/


	return 0;
}

C++: #include <iostream>
#include <string>
#include <utility>
#include <algorithm>
#include <queue>
#include <map>
/*
#define _CRT_SECURE_NO_WARNIGS
#pragma warning(disable:4996)
*/
using namespace std;
typedef long long I;
#define REP(i , x) for(int i = 0 ; i < x ; ++i)

int mo[10];

int f(int a){
	int l(0);
	while (a){
		a /= 10;
		l++;
	}

	return l;
}

int main()
{
	int a, b;
	while (scanf("%d %d",&a,&b)+1){
		cout << f(a+b) << endl;
	}
	return 0;
}

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

int number[10];
int count = 0;
int flag = 0;
int temp = 0;

int main(){

        for(count=0;count<10;count++){
                cin >> number[count];
                }
        count = 0;

        while(flag<10){
                for(count=0;count<9;count++){
                        if(number[count]<number[count+1]){
                                temp=number[count];
                                number[count]=number[count+1];
                                number[count+1]=tempa;
                        }
                }
                flag++;
}
        for(count=0;count<3;count++){
                cout<<number[count]<<endl;
        }
}

C++: #include<bits/stdc++.h>
const long long INF = INT_MAX / 2;
const long long MOD = 1000000007;
const long double PI = 3.1415926;
#define FOR(i,r,n) for(ll i = (ll)(r); i < (ll)(n); i++)
#define REP(i,n) FOR(i,0,n)
#define REP1(i,n) FOR(i,1,n)
#define ALL(x) x.begin(),x.end()
#define RALL(x) x.rbegin(),x.rend()
#define ll long long int
using namespace std;
ll ans = 0, sum = 0, n, k, cnt = 0, w, h;
string s;
vector<ll> v;
vector < pair<ll, ll > > vp;
vector<vector<ll> > vv(50, vector<ll>(50, INF));
vector<string> vs;
vector<char> vc;
set<ll> st;
map<char, ll> mp;

/*--------------------template--------------------*/

int main()
{
	REP(i,10)
	{
		cin >> n;
		v.push_back(n);
	}
	sort(RALL(v));
	REP(i,3)
	{
		cout << v[i] << endl;
	}
}

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

using namespace std;

int main(){
	deque<int> Mt_meter;
	for(int i = 0;i < 10;i++){
		int meter;
		cin >> meter;
		Mt_meter.push_front(meter);
	}
	sort(Mt_meter.rbegin(),Mt_meter.rend());
	for(int i = 0;i < 3;i++){
		cout << Mt_meter[i] << endl;
	}

	return 0;
}

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

int main()
{
  std::vector<int> hills;
  int temp;
  while(std::cin >> temp) {
    hills.push_back(temp);
  }
  std::sort(hills.begin(), hills.end());

  auto it = hills.rbegin();
  for(int i = 0; i < 3; ++i) {
    std::cout << *it << std::endl;
    it++;
  }
}

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

int main()
{
    int a[20],i,j;

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

    for(i=0; i<10; i++)
    {
        j = i;
        while(a[j]>a[j-1] && j)
        {
            int tmp = a[j-1];
            a[j-1] = a[j];
            a[j--] = tmp;
        }
    }
    cout << a[0] << endl << a[1] << endl << a[2] << endl;

    return 0;
}

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

int main() {

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

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

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

using namespace std;

int main() {
    int a[9];
	for(int i=0;i<=9;i++) std::cin>>a[i];
 std::sort(a, a + 10, greater<int>());            // ツソツーツトツつキツづゥツ。
    for (int j = 0; j < 3; j++) {
        std::cout << a[j] << ", ";    // ツ個仰嘉環づーツプツδ環δ督トツつオツづづ敖づゥツ。
    }
    return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
int main(void){
    // Your code here!
    vector<int> C;
    for(int i=0;i<10;i++){
        
        int a;cin >>a;
        C.push_back(a);
    }
    
    sort(C.begin(),C.end(),greater<int>());
    cout << C[0] << '\n' << C[1]<< '\n' << C[2] << '\n';
    return 0;
    
}