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>
using namespace std;

int main()
{
	int top, stop, sstop, obj;
	top = stop = sstop = 0;
	for (int i = 0; i < 10; i++){
		cin >> obj;
		if (obj > top){
			sstop = stop;
			stop = top;
			top = obj;
		}else if (obj > stop){
			sstop = stop;
			stop = obj;
		}else if (obj > sstop){
			sstop = obj;
		}
	}
	cout << top << "\n" << stop << "\n" << sstop << endl;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main(){
    int hills[10];
    for (size_t i = 0; i < 10; i++)
    {
        cin>>hills[i];
        /* code */
    }
    sort(hills,hills+10,greater<int>());
    for (size_t i = 0; i < 3; i++)
    {
        cout<<hills[i]<<endl;
        /* code */
    }
    return 0;
}

C++: #include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
    int i,j,arr[11];
    for(i=1;i<=10;i++)
    {
        for(j=1;j<=3;j++)
        scanf("%d",&arr[j]);
        sort(arr,10);
        printf("%d\n",arr[j]);
    }
    return 0;
}

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

using namespace std;

int main() {
	int m[10];

	for (int i = 0; i < 10; i++)scanf("%d", &m[i]);

	stable_sort(m, m + 10);
	
	for(int i=9;i>6;i--)printf("%d\n", m[i]);

	return 0;
}

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

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

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

C++: //--------------------------------------------------template----------------------------------------//
//c
#include <stdio.h>
#include <time.h>
#include <math.h>
//c++
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <functional>
#include <cstdlib>
#include <sstream>
#include <string>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <deque>
#include <vector>
#include <complex>
#include <cmath>
//c++11
#include <tuple>
#define all(c) ((c).begin(),(c).end())
#define rall(c) (c).rbegin(),(c).rend()
//#define sort(v,n) sort(v,v+n)
//#define vsort(v) sort(v.begin(),v.end())
#define vvsort(v) sort(v.rbegin(),v.rend())
#define ll long long
#define pb(a) push_back(a)
#define fi first
#define se second
#define inf 999999999
using namespace std;
const ll MOD = 1e9 + 7;
const double PI = acos(-1.0);
//---------------------------------------------------------------------------------------------//
int a[10];

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

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

int main(){
    vector <int> v;
int a;    
for(int i-;i<10;i++){
cin >> a;
v.push_back(a);
}

sort(v.begin(),v.end);

cout << v[0] << endl << v[1] << endl << v[2] << endl;

return 0;

}

C++: #include<iostream>
#include<vector>
#include<algorithm>
using namespace std;int h,i;int main(){vector<int>l;for(i=0;i++<10;l.push_back(h))cin>>h;sort(l.begin(),l.end(),greater<int>());for(i=0;i++<3;)cout<<l.begin()[i-1]<<'\n';}

C++: #include <iostream>
#include<string>
#include<math.h>
#include<stdio.h>
#include <algorithm>
using namespace std;
int main(void){
    // Here your code !

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

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

int main(){
    int height[10];
    int Top[3];
    int temp;

    for(int i = 0; i < 10; i++){
        cin >> height[i];
        if(height[i] < 0 && height[i] > 10000)
            cout << "error" << endl;
    }
    Top[0] = height[0];
    Top[1] = height[1];
    Top[2] = height[2];

    for(int i = 0; i < 10 ; i++){
        if(Top[0] <= height[i])
        {
            temp = Top[1];
            Top[1] = Top[0];
            Top[0] = height[i];
            Top[2] = temp;
        }

    }
    cout << "1????????????????±±???" << Top[0] << endl;
    cout << "2????????????????±±???" << Top[1] << endl;
    cout << "3????????????????±±???" << Top[2] << endl;



    return 0;
}

C++: 
#include <iostream>
using namespace std;
int main(void){
int i, j, n[10], max, temp;

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

for(i=0; i < 10; i++){
max = i;
for(j = i + 1; j < 10; j++){
if(n[max] <n[j]) max = j;
}
temp = n[max];
n[max] = n[i];
n[i] = temp;

while(i==0){
cout<<temp<<endl;
break;
}
while(i==1){
cout<<temp<<endl;
break;
}
while(i==2){
cout<<temp<<endl;
break;
}

}
}

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

int main() {
	int a[10];

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

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

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

	return 0;
}

C++: #include<stdio.h>
int main(void)
{
	int a, b, max = 0, max2 = 0, max3 = 0;
	for (a = 1; a <= 10; a++) {
		scanf("%d", &b);
		if (b > max) {
			max = b;
		}
		else if (b > max2) {
			max2 = b;
		}
		else if (b > max3) {
			max3 = b;
		}
	}
		printf("%d\n %d\n %d\n", max, max2, max3);
		return 0;
}

C++: #include<iostream>
using namespace std;
int main() {
	int a,b,c=0,d;
	int yama[10];
	int hyama[3];
	for(a=0;a<10;a++){
		cin >> yama[a];
	}
	for(a=0;;a++){
		if(a == 9){
			a = 0;
			c = 0;
		}
		if(yama[a] < yama[a+1]){
			b = yama[a];
			yama[a] = yama[a+1];
			yama[a+1] = b;
		} 
		else {
			c++;
		}
		if(c == 9) {
			break;
		}
	}
	for(a=0;a<3;a++) {
		cout << yama[a] << endl;
	}
	return 0;
}

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

using namespace std;

const int numOfMountain = 10;

int main(int argc, char** argv){
    int mountainBuf;
    vector<int> mountains;

    for(int i = 0; i <= numOfMountain; i++) {
        mountainBuf = atoi(argv[i]);
        mountains.push_back(mountainBuf);
    }

    sort(mountains.begin(), mountains.end());

    auto out = mountains.end();
    for(int i = 0; i < 3; i++) {
        cout << *--out << endl;
    }

    return 0;
}

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

using namespace std;

int main(){
	typedef vector<int> vint;
	typedef vector<int>::iterator vintit;

	const int SUM_OF_DATA = 10;
	const int TOP = 3;
	vint hList(SUM_OF_DATA);
	vint result(TOP);
	
	for (vintit it = hList.begin(), end = hList.end(); it != end; ++it) cin >> *it;

	partial_sort_copy(hList.begin(), hList.end(), result.begin(), result.end(), greater<int>());
	for (vintit it = result.begin(), end = result.end(); it != end; ++it) cout << *it << endl;
	
	return 0;
}

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

using namespace std;

int main() {
	int m[10];

	for (int i = 0; i < 10; i++)scanf("%d", &m[i]);

	stable_sort(m, m + 10);
	
	for(int i=9;i>6;i--)printf("%d\n", m[9]);

	return 0;
}

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

int main()
{
  int high;
  int temp1,temp2;
  int first=0,second=0,third=0;
  
  for(int i=0;i<10;i++){
    cout<<"山の高さ"<<i+1<<":";
    cin>>high;
    if(high>first){
      temp1=first;
      first=high;
      temp2=second;
      second=temp1;
      third=temp2;
    } else if (first>=high && high>second){
      temp2=second;
      second=high;
      third=temp2;
    } else if (second>=high && high>third){
      third=high;
    }
  }

  cout<<"1番目に高い山の高さ:"<<first<<endl;
  cout<<"2番目に高い山の高さ:"<<second<<endl;
  cout<<"3番目に高い山の高さ:"<<third<<endl;
  
  return 0;
}