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<iostream>
#include<string>
#include<algorithm>

using namespace std;

int compare(const void *a, const void *b)
{
    return *(int*)a - *(int*)b;
}

int main(){
    int arr[10];

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

    sort(arr, arr + 10);
    for (int i = 1; i <= 3; i++)
    {
        cout << arr[10 - i] << endl;
    }


    return 0;
}

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

using namespace std;

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

C++: #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <stddef.h>
#include <ctype.h>
#include <float.h>
#include <limits.h>

const double  pi = 2 * acos (0.0);

int main()

{
    int a[10000],i,j,k,l,hand=0,temp=0,sum=0;

    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<10;i++)
    {
        if(a[i]>hand)
        {
            hand = a[i];
        }
    }
    printf("%d\n",hand);

    for(i=0;i<10;i++)
    {
        if(a[i]>temp)
        {
            if(a[i]==hand)
            {
                continue;
            }
            else
            {
                temp = a[i];
            }
        }
    }
    printf("%d\n",temp);

    for(i=0;i<10;i++)
    {
        if(a[i]>sum)
        {
            if(a[i]==hand || a[i]==temp)
            {
                continue;
            }
            else
            {
                sum = a[i];
            }
        }
    }
    printf("%d\n",sum);
}

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

int main() {
    int input[10];
    for(int i=0; i<10; ++i) {
        cin >> input[i];
    }
    sort(begin(input), end(input));
    cout << input[9] << "\n" << input[8] << "\n" << input[7] << endl;
}

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

int main() {
	
	typedef std::multiset<int> MySet;
	MySet heightSet;
	
	for(int i = 0; i < 10; ++i)
	{
		int val;
		cin >> val;
		heightSet.insert(val);
	}
	
	MySet::reverse_iterator rit = heightSet.rbegin();
	for(int i = 0; i < 3; ++i)
	{
		cout << *rit << endl;
		++rit;
	}
	
	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]=temp;
                        }
                }
                flag++;
}
        for(count=0;count<3;count++){
                cout<<number[count]<<endl;
        }
}

C++: #include <stdio.h>

int fir(const int *);
int sec(const int *);
int thi(const int *);

int main(void)
{
	int i,h[10];
	for(i=0;i<10;i++){
		scanf("%d",&h[i]);
	}
	printf("%d",fir(h));
	printf("%d",sec(h));
	printf("%d",thi(h));
	return 0;
}

int fir(const int *h){
	int i,f=0;
	for(i=0;i<10;i++){
		f<h[i] ? f=h[i] : /*処理無し*/;
	}
	return f;
}

int sec(const int *h){
	int i,f,s;
	for(i=0;i<10;i++){
		f<h[i] ? f=h[i] : /*処理無し*/;
	}
	for(i=0;i<10;i++){
		f>=h[i] && s<h[i] ? s=h[i] : /*処理無し*/;
	}
	return s;
}

int thi(const int *h){
	int i,f,s,t;
	for(i=0;i<10;i++){
		f<h[i] ? f=h[i] : /*処理無し*/;
	}
	for(i=0;i<10;i++){
		f>=h[i] && s<h[i] ? s=h[i] : /*処理無し*/;
	}
	for(i=0;i<10;i++){
		s>=h[i] && t<h[i] ? t=h[i] : /*処理無し*/;
	}
	return t;
}

C++: #include <iostream>
#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(){
    array<int,10> h{};
    int in{};
    for(int i=0;i<10;i++){
        cin>>in;
        h[i]=in;
    }
    sort(h.begin(),h.end());
    cout<<h[9]<<endl;cout<<h[8]<<endl;cout<<h[7]<<endl;
    return 0;
}

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

int main(){
  multiset<int, greater<int> > mts{};
  for(int i = 0; i < 10; i++){
    int tmp = 0;
    scanf("%d", &tmp);
    mts.insert(tmp);
  }
  int count = 0;
  for(int const mt : mts){
    printf("%d\n", mt);
    if(++count >= 3) break;
  }
  return 0;
}

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

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);

  vector<ll> A(10, 0);
  for (int i = 0; i < 10; i++) {
    cin >> A[i];
  }
  sort(A.begin(), A.end());
  reverse(A.begin(), A.end());

  for (int i = 0; i < 3; i++) {
    cout << A[i] << '\n';
  }
  return 0;
}

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

int main() {
	int h[10];
	int max[3];
	int tmp, maxj;

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

	for (int i = 0; i < 3; ++i) {
		tmp = 0;
		for (int j = 0; j < 10; ++j) {
			if (h[j] > tmp) {
				tmp = h[j];
				maxj = j;
			}
		}
		max[i] = tmp; h[maxj] = 0;
	}

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

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

int main() {
	int m[10], t[3]={0,0,0};
	for (int n = 0; n < 10; n++) {
		scanf("%d",&m[n]);
	}
	for (int n = 0; n < 10; n++) {
		if (t[0] < m[n]) {
			t[2] = t[1];
			t[1] = t[0];
			t[0] = m[n];
		}else if(t[1] < m[n]) {
			t[2] = t[1];
			t[1] = m[n];
		}
		else if(t[2] <m[n]) {
			t[2] = m[n];
		}
	}
	for (int n = 0; n < 3; n++) {
		printf("%d\n",t[n]);
	}
	return 0;
}

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

int main() {
  int top=0;
  int second=0;
  int third=0;
  int height;
  std::vector<int> heights;

  while(scanf("%d\n", &height) != EOF) {
    heights.push_back(height);
  }

  std::sort(heights.begin(), heights.end());

  for(int i=0;i<3;i++) {
    std::cout << heights.back() << std::endl;
    heights.pop_back();
  }
}

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<9;i++){
		for(j=9;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;
    
    
	for(i=1;i<=9;i++){
		for(j=1;j<=9;j++){
			cout << i << "x" << j <<"=" <<i*j <<endl;
		}
	}
	
	
	return 0;
}

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

using namespace std;

int main() {

	int data[10];
	int kari;

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

	for (int j = 9; j > 0; j--) {
		for (int k = 0; k < j; k++) {
			if(data[k] > data[k+1]) {
				kari = data[k];
				data[k] = data[k+1];
				data[k+1] = kari;
			}
		}
	}

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

	return 0;
}

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

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

  return 0;
}