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>
#include <vector>
#include <algorithm>

int main()
{
    const int num_of_height = 10;
    const int num_of_top = 3;
    const int min = 0;
    const int max = 10000;
    
    int h;
    std::vector<int> height;
    height.reserve(num_of_height);
    
    std::cout << num_of_height << "個の高さの入力" << std::endl;
    for(int i = 0; i < num_of_height; ++i){
        while(1){
            std::cin >> h;
            if(min <= h && h <= max)
                break;
            else
                std::cout << min << "<=h<=" << max << "に設定" << std::endl;
        }
        height.push_back(h);
    }
    
    sort(height.begin(), height.end(), std::greater<int>());
    
    std::cout << "高い順から" <<  num_of_top << "個出力" << std::endl;
    for(int i = 0; i < num_of_top; ++i)
        std::cout << height.at(i) << std::endl;
        
    return 0;
}

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

int main(){
    int a[3];
    for (int i = 0;i < 10; i++) {
        int input;
        cin >> input;

        if (input > a[0]) {
            a[2] = a[1];
            a[1] = a[0];
            a[0] = input;
        } else if (input > a[1]) {
            a[2] = a[1];
            a[1] = input;
        } else if (input > a[2]) {
            a[2] = input;
        }

    }

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

    return 0;
}

C++: #include <stdio.h>

int main(){
	int i,j;
	int h1=0,h2=0,h3=0;
	
	for(i=1;i<=10;i++){
		scanf("%d\n",&j);
		if(j>=h1){
			h3=h2;
			h2=h1;
			h1=j;
		}
		else if(j>=h2){
			h3=h2;
			h2=j;
		}
		else if(j>=h3){
			h3=j;
		}
	}
	return 0;
}

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

int main(){
	vector<int> data;
	for(int i=0;i<10;++i){
		int a;
		scanf("%d",&a);
		data.push_back(a);
	}
	sort(data.begin(),data.end(),greater<int>());
	auto it = data.begin();
	for(int i=0; i < 3 ; ++it, ++i)
		printf("%d\n",*it);
	return 0;
}

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

int main(){
int a[10] = {1819,2003,876,2840,1723,1673,3776,2848,1592,922};
int ma=0, aa = 0;

for(int j=0;j<3;j++){
for(int i=0;i<10;i++){
if(ma > a[i]){
ma = a[i];
aa = i;
}
}
cout << ma << endl;
a[a] = 0;
}

return 0;
}

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

using namespace std;

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

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

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

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

int main() {
	int a;
	vector<int> v;
	while (cin >> a) {
		v.push_back(a);
	}
	sort(a.begin(), a.end(), greater<int>());
	
	cout << a[0] << "\n" << a[1] << "\n" << a[2] << "\n";
	return 0;
}

C++: #include<iostream>
#include<vector>
#include<algorithm>
#include<functional>
using namespace std;
int main(){
	int a[10],i;
	for(i=0;i<10;i++){
		cin>>a[i];
	}
	sort(a,a+10,greater<int>());
	for(i=0;i<3;i++){
	cout<<a[i]<<endl;
	}
}

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

int main(int argc, char **argv){
	std::vector<int> h_vec(10);

	for(int i = 0; i < 10; i++){
		std::cin >> h_vec[i];
	}
	std::sort(h_vec.begin(), h_vec.end());

	for(int i = 9; i >= 7; i--){
		std::cout << h_vec[i] << std::endl;
	}
	return 0;
}

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

int main() {
	int i, j, a[10] = {0}, temp;
	for (i = 0; i < 10; i++) {
		cin >> a[i];
	}
	for (i = 0; i < 10; i++) {
		for(j = 0; j < 10; j++) {
			if (a[j] < a[i]) {
				temp = a[j];
				a[j] = a[i];
				a[i] = temp;
			}
		}
	}
	for (i = 9; i > 6; i--) {
		cout << a[i] << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <c++/array>

using namespace std;

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

    sort(A.begin(), A.end(), std::greater<int>());

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

    return 0;
}

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

int main(){
	int h[10];
	int x1=0, x2=0, x3=0;

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

	for(int i=0; i<10; ++i){
		if(h[i] >= x1){
			x3 = x2;
			x2 = x1;
			x1 = h[i];
		}else if(h[i] >= x2){
			x3 = x2;
			x2 = h[i];
		}else if(h[i] >= x3){
			x3 = h[i];
		}
	}

	cout << x1 << endl << x2 << endl << x3 << 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>());

    cout << height[0] << endl << height[1] << endl << height[2] << endl;
    
    return 0;
}

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

void swap(int* x, int* y){
	int tmp = *x;
	*x = *y;
	*y = tmp;
}

int main(){
	int a = 0, b = 0, c = 0;
	for(int i = 0; i <= 10; i++){
		cin >> c;
		if(b < c){
			swap(&b, &c);
		}
		if(a < b){
			swap(&a, &b);
		}
		if(a < c){
			swap(&a, &c);
		}
	}
	cout << a << endl;
	cout << b << endl;
	cout << c << endl;
	return 0;
}

C++: #include<stdio.h>


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

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

       if(a[j]<a[j+1])
        {
        rem=a[j];
        a[j]=a[j+1];
        a[j+1]=rem;
        }
      }
    }



    for(i=1; i<4; i++)
    {
        printf("%d ", a[i]);
    }
    return 0;
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
	vector <int> h(10);
	for (int i = 0;i < 10;i++) {
		cin >> h[i];
	}
	sort(h.rbegin(), h.rend());
	cout << h[0] << endl << h[1] << endl << h[2] << endl;
}

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(i, c) for (__typeof((c).begin()) i = (c).begin(); i != (c).end(); ++i)
#define ALL(c) (c).begin(), (c).end()
#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 mod 1000000007
#define INF 100000000
#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};

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[11];
  REP(i, 10){
    cin >> a[i];
  }
  sort(a, a + 10);
  reverse(a, a + 10);
  cout << a[0] << endl << a[1] << endl << a[2] << endl;

}

C++: #include <stdio.h>

int main(void)
{
  int i;
  int low;
  int mid;
  int large;
  int height[10];
   
  i=0;
  while(i++ < 10) {
    scanf("%d", &height[i-1]);
    if(i==1) low = mid = large = height[0];
     
    if(height[i-1] > large) {
      large = height[i-1];
      mid = large;
    }
    else
    if(height[i-1] > mid) {
      mid = height[i-1];
      low = mid;
    }
    else
    if (low > height[i-1]){
      low = height[i-1];
    }
  }
  printf("%d\n%d\n%d\n", large,mid,low);
 
  return 0;
}