Go: package main

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

func main() {
        fp := os.Stdin
        scanner := bufio.NewScanner(fp)
        var lst [3]int

        for scanner.Scan() {
                num, _ := strconv.Atoi(scanner.Text())
                if lst[0] < num {
                        lst[2] = lst[1]
                        lst[1] = lst[0]
                        lst[0] = num
                } else if lst[1] < num {
                        lst[2] = lst[1]
                        lst[1] = num
                } else if lst[2] < num {
                        lst[2] = num
                }
        }

        for _, i := range lst {
                fmt.Printf("%d\n", i)
        }
}

C++: #include "stdio.h"


int main(){
	int i,max1 = 0,max2 = 0,max3 = 0;
	int Hill[10];
	for(i = 0;i < 10;i++){
		scanf("%d",&Hill[i]);
	}
	for(i = 0;i < 10;i++){
		if(max1 < Hill[i]){
			max3 = max2;
			max2 = max1;
			max1 = Hill[i];
		}
		else if(max2 < Hill[i]){
			max3 = max2;
			max2 = Hill[i];
		}
		else if(max3 < Hill[i])max3 = Hill[i];
	}
	printf("%d\n%d\n%d\n",max1,max2,max3);
}

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);
  reverse(a, a + 10);

  cout << a[0] << endl;
  cout << a[1] << endl;
  cout << a[2] << endl;
}

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

C++: #include <cstdio>
#include <cstdlib>
#include <cstdint>
#include <cstring>
#include <cctype>
#include <iostream>
#include <sstream>
#include <vector>
#include <list>
#include <deque>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <unordered_map>
#include <unordered_set>
#include <algorithm>
#include <functional>
using namespace std;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef long long ll;
const double PI = 3.141592653589793238462643383279502884L;
const int LARGE_INT = 1000000007;
#define all(c) (c).begin(), (c).end()
#define rall(c) (c).rbegin(), (c).rend()
#define tr(c, i) for(auto i = (c).begin(); i != (c).end(); i++)
#define rtr(c, i) for(auto i = (c).rbegin(); i != (c).rend(); i++)
#define repfn(i,a,cont,next) \
  for(auto i = (a); [=](){return(cont);}(); i = [=](){return(next);}())
#define repby(i,a,b,s) repfn(i,a,i<b,i+s)
#define repab(i,a,b) repby(i,a,b,1)
#define rep(i,b) repab(i,0,b)
#define pb push_back
#define sz(c) int((c).size())

int main(int argc, char **argv)
{
  set<int> s;
  int tmp;
  rep(i, 10) {
    cin >> tmp;
    s.insert(tmp);
  }
  int i = 0;
  for (auto p = s.rbegin(); i < 3; p++, i++) {
    cout << *p << endl;
  }

  return 0;
}

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

using namespace std;

int main() {
	int height[10];

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

	sort(height, height+10, greater<int>());

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

	return 0;
}

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

int main(void){
    int i = 0;
    int s[10];

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

    sort(s, s+10);

    cout << s[9] << endl;
    cout << s[8] << endl;
    cout << s[7] << endl;

    return(0);
}

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

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

int main(){
    int i;
    int mount[10];
    int *p=&mount[0];
    for(i=0;i<10;i++){
        scanf("%d\n",p);
        p++;
    }
    sort(mount,mount+10,[](int x,int y){return x>y;});
    printf("%d\n%d\n%d",mount[0],mount[1],mount[2]);
    return 0;
}

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

void bubbleSort(vector<int> &h)
{
	int tmp;
	for (int i = 0; i < h.size() - 1; i++)
	{
		for (int j = 0; j < h.size() - 1 - i; j++)
		{
			if (h[j] < h[j + 1])
			{
				tmp = h[j + 1];
				h[j + 1] = h[j];
				h[j] = tmp;
			}
		}
	}
}

int main()
{
	vector<int> height(10);
	for (int i = 0; i < 10; i++)
	{
		cin >> height[i];
	}
	bubbleSort(height);
	for (int i = 0; i < 3; i++)
	{
		cout << height[i] << endl;
	}
	return 0;
}

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

int main(){
	vector<int> mts(10);
	for( int i=0; i<10; i++ ){
		cin >> mts[i];
	}
	sort( mts.rbegin(), mts.rend() );
	for( int i=0; i<3; i++ ){
		cout << mts[i] << endl;
	}
	return 0;
}

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

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

C++: #include <iostream>
#include <vector>
using namespace std;
 
 
 
int main() {
 
//変数の宣言
 
    int i,j,temp;
    vector<int> hight;
 
 
/////メイン処理/////
 
    for(i=0;i<10;i++){
        cin >> temp;
        hight.push_back(temp);
    }
     
    for(j=0;j<hight.size()-1;j++){
        for(i=0;i<hight.size()-1-j;i++){
            if (hight[i] > hight[i+1]) {
                temp = hight[i];
                hight[i] = hight[i+1];
                hight[i+1] = temp;
            }
        }
    }
     
    for(i=0;i<3;i++){
        cout << hight[hight.size() -i -1] <<endl;
    }
     
    return 0;
}

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

// http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0001

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

C++: #include<bits/stdc++.h>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cctype>

#include<cmath>
#include<iostream>
#include<fstream>

#include<string>
#include<vector>
#include<queue>
#include<map>
#include<algorithm>
#include<set>
#include<sstream>
#include<stack>

using namespace std;


int main()
{

    long long int n,i=0,j,a,b,c,ln,my=0,ck=0;
    int arr[10];

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

    cout<<arr[9]<<endl;
    cout<<arr[8]<<endl;
    cout<<arr[7]<<endl;
}

C++: #include <stdio.h>

int main()
{
	int vc[10];
	int i;
	int max=0,sec=0,thi=0;

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

	printf("\n");
	for(i=0;i<10;i++){
		if(max <= vc[i])
			max = vc[i];
	}

	for(i=0;i<10;i++){
		if(sec <= vc[i] && vc[i] < max)
			sec = vc[i];
	}

	for(i=0;i<10;i++){
		if(thi <= vc[i] && vc[i] < sec)
			thi = vc[i];
	}

	printf("%d\n%d\n%d\n",max,sec,thi);

	return 0;
}

C++: #include <iostream>

using namespace std;

int main(){
	int h[2];
	int i,j;
	for(i=0;i<=2;i++) h[1] = 0;
	for(i=0;i<=9;i++){
		cin>>j;
		if(j >= h[1]) h[1] = j;
		else if (i >= h[2]) h[2] = j;
		else if (i >= h[3]) h[3] = j;
		else continue;
	}
	for(i=0;i<=2;i++){
		cout<<h[i]<<endl;
	}
	return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
    int hight[10], i, j, tmp;
    
    for(i = 0; i < 10; i++) 
        cin >> hight[i];
    
    for(i = 0; i < 10; i++){
        for(j = i + 1; j < 10; j++){
            if(hight[i] >= hight[j]){
                tmp = hight[i];
                hight[i] = hight[j];
                hight[j] = tmp;
            }
        }
    }
    
    for(i = 9; i > 6; i--){
        cout << hight[i] << endl;
    }
}