Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

func read() string {
	sc.Scan()
	return sc.Text()
}

func main() {
	sc.Split(bufio.ScanLines)

	s := make([]int, 10)
	for i := 0; i < 10; i++ {
		s[i], _ = strconv.Atoi(read())
	}
	sort.Sort(sort.Reverse(sort.IntSlice(s)))
	fmt.Println(s[0])
	fmt.Println(s[1])
	fmt.Println(s[2])
}

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

using namespace std;

int main()
{
    int n = 10;
    int i = 0, j = 0;
    array<int, 10> arr;
    
    for (int i = 0; i < 10; i++)
    {
        cin >> arr[i];
    }
    
    for (i = 0; i < n - 1; i++)
    {
        for (j = i + 1; j < n; j++)
        {
            if (arr[i] < arr[j])
            {
                swap(arr[i], arr[j]);
            }
        }
    }
    
    for (i = 0; i < 3; i++)
    {
        cout << arr[i] << endl;
    }
    
    return 0;
}

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

int main(){
    int mountain[10];
    
    for(int i=0;i<10;i++)
        //scanf("%d",&mountain[i]);
	cin>>mountain[i];
    for(int i=0;i<10;i++){
        for(int j=9;j>i;j--){
	    if(mountain[j]>mountain[j-1]){
            int temp = 0;
			temp = mountain[j];
			mountain[j] = mountain[j-1];
			mountain[j-1] = temp;
	    }
	}
    }

    //結果出力
    for(int i=0;i<3;i++)
         cout<<mountain[i]<<'\n';
    return 0;
}

C++: #include <stdio.h>

int main(void)
{
	int i,j,mt_height[10];

	for (i = 0; i < 10; i++)
	{
		scanf("%d",&mt_height[i]);
	}

	for (i=0;i<9;i++)
	{
		for (j = 9; j >= 0; j--)
		{
			if (mt_height[j + 1] > mt_height[j])
			{
				int temp = mt_height[j+1];
				mt_height[j+1] = mt_height[j];
				mt_height[j] = temp;
			}
		}
	}

	for (i = 0; i < 3; i++)
		printf("%d\n", mt_height[i]);

	return 0;
}

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

int main() {
	vector<int> b(10);
	for (int i = 0;i < 10;i++) {
		cin >> b[i];
	}
	sort(b.begin(),b.end());
	reverse(b.begin(), b.end());
	
	for (int i = 0;i < 3;i++) {
		cout<<b.at(i)<<endl ;
	}
	return 0;
}

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, less<int>());
	for (int i = 9; i >= 7; i--){
		cout << a[i] << endl;
	}
}

C++: #include <stdio.h>

int main(void)
{
	int i,j,tmp;
	int mts[11] = {0};

	for(i = 0; i < 10; i++)
	{
		scanf("%d",&mts[i]);
	}

	for(j = 0; j < 10; j++)
	{
		for(i = 0; i < 10 - j; i++)
		{
			if(mts[i] < mts[i+1])
			{
				tmp = mts[i];
				mts[i] = mts[i+1];
				mts[i+1] = tmp;
			}
		}
	}

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

	return 0;

}

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

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

using namespace std;

int main(void){
  int x;
  vector<int> v;

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

  sort(v.begin(), v.end(), greater<int>());

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

  return 0;
}

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

typedef long int lint;
typedef long long int llint;
typedef pair<int, int> pii;
typedef pair<int, string> pis;
typedef pair<long, long> pll;

#define EACH(t, c) for (auto&& t : c)
#define ALL(c) begin(c), end(c)
#define FOR(i, s, e) for (int i = (s); i < (int)(e); ++i)
#define REP(i, n) FOR(i, 0, n)
#define endl '\n'
#define fk first
#define sv second

const int dx[] = {1, 0, -1, 0, 1, 1, -1, -1}, dy[] = {0, 1, 0, -1, 1, -1, 1, -1};
const int MOD = (int)1e9 + 7;
const int INF = 999999999;

template<typename T>
void print(const std::vector<T>& v, char sep=' ') {
  for (int i = 0; i < (int)v.size(); i++) {
    if (i != 0) cout << sep;
    cout << v[i];
  }
  cout << endl;
}

int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int a[10];

  REP(i, 10) {
    cin >> a[i];
  }
  sort(a, a + 10);

  REP(i, 3) {
    cout << a[9 - i] << endl;
  }
}

C++: #include<stdio.h>
int main(void)
{
	int a[10],s,d,f,i;
	for(i=1;i<=10;i++){
		scanf("%d",&a[i]);
	}
	for(i=1;i<=10;i++){
		for(f=i+1;f<=10;f++){
			if(a[i]<a[f]){
				s=a[i];
				a[i]=a[f];
				a[f]=s;
			}
		}
	}
	printf("%d\n",a[1]);
	printf("%d\n",a[2]);
	printf("%d\n",a[3]);
	return 0;
}

C++: #include <iostream>
using namespace std;
int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    int x;
    int a = 0; int b = 0; int c = 0;
    while (cin >> x) {
        if (x > a) {
            c = b;
            b = a;
            a = x;
        }
        else if (x > b) {
            c = b;
            b = x;
        }
        else if (x > c)
            c = x;
    }
    cout << a << "\n" << b << "\n" << c << "\n";
}

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

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

	sort (high, high+10);
	for(int i=9;i>6;i--){
		cout << high[i]<<endl;
	}
}

C++: //
//  main.cpp
//  AizuOnlineJudge
//
//  Created by TomoyaYamaguchi on 2016/08/05.
//  Copyright ?? 2016??´ TomoyaYamaguchi. All rights reserved.
//

#include <iostream>

using namespace std;

int main(int argc, const char * argv[]) {
    // insert code here...
    int height[10];//?±±?????????
    int tmp = 0;
    int end = 0;
    
    for(int i=0;i<10;i++){
        cin >> height[i];
    }
    
    while(end == 0){
        end = 1;
        for(int i=0;i<9;i++){
            if(height[i] < height[i+1]){
                end = 0;
                tmp = height[i];
                height[i] = height[i+1];
                height[i+1] = tmp;
            }
        }
    }
    
    for(int i=0;i<3;i++){
        cout << height[i] << endl;
    }
    
    return 0;
}

C++: #include<bits/stdc++.h>

using namespace std;

int main(){
    vector<int> v;
    for(int i=0;i<10;i++){
    	int x;
    	cin >> x;
    	v.push_back(x);
    }
    sort(v.begin(),v.end());
    cout << v[9] << endl;
    cout << v[8] << endl;
    cout << v[7] << endl;
}

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

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

int main() {
    int height[10];
    for (int i = 0; i < 10; i++) {
        cin>>height[i];
    }
    for (int i = 0; i < 10; i++) {
        for (int j = i; j < 10; j++) {
            int max = height[i];
            int c = i;
            if (height[j] > max) {
                max = height[j];
                c = j;
            }
            int temp;
            temp = height[c];
            height[c] = height[i];
            height[i] = temp;
        }
    }
    cout<<height[0]<<endl;
    cout<<height[1]<<endl;
    cout<<height[2]<<endl;
    return 0;
}

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;
}