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 <iomanip>
#include <vector>
#include <complex>
#include <cmath>
#include <algorithm>
#define shosu(x) fixed<<setprecision(x)
using namespace std;
int main(){
	int high;
	vector<int> tmp;
	for(int i=0;i<10;i++){
		cin>>high;
		tmp.push_back(high);
	}
	sort(tmp.begin(),tmp.end());
	for(int i=9;i>6;i--){
		cout<<tmp[i]<<endl;
	}
}

C++: #include<iostream>

int main(){
    int a[10],i,j,n;
    for(i=0;i<10;i++){
        std::cin>>a[i];
        }
        
        for(i=0;i<9;i++){
        	for(j=i+1;j<9;j++){
        		if(a[i]<a[j]){
			n=a[i];
			a[i]=a[j];
			a[j]=n;
			}
		}	
	}
	for(i=0;i<3;i++){
	std::cout<<a[i]<<std::endl;
	}       	
	
	return 0;
}

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

#define RANKING 3
int main(){
	int x;
	int ranking[RANKING] = {0};
	for(int i = 0; i < 10; i++){
		std::cin >> x;
		for(int i = 0; i < RANKING; i++){
			if(ranking[i] < x){
				for(int j = RANKING-1; j > i; j--){
					ranking[j] = ranking[j-1];
				}
				ranking[i] = x;
				break;
			}
		}
	}
	for(int i = 0; i < RANKING; i++){
		std::cout << ranking[i] << std::endl;
	}
	return 0;
}

C++: import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args) throws IOException{
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] array = new String[10];
        int[] heights = new int[10];
        for(int i=0; i<10; i++){
        	System.out.println("enter height: ");
        	array[i] = br.readLine();
        	heights[i] = Integer.parseInt(array[i]);
        }
        
        Arrays.sort(heights);
        for(int i=9; i>6; i--){
        	System.out.println(heights[i]);
        }
        
        
    }

}

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

using namespace std;

int main(void)
{

  int a, b, c; // aツつゥツづァツ暗ェツ氾板債つつ「ツ山
  int n;

  a = b = c = 0;
  
  for(int i = 0; i < 10; i++){
    cin >> n;
    if ( a < n ) {
      swap(a,n);
    }
    if ( b < n ) {
      swap(b,n);
    }
    if ( c < n ) {
      swap(c,n);
    }
  }

  cout << a << endl;
  cout << b << endl;
  cout << c << endl;
  
}

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

int main(){
	int suchi,high=0,middle=0,low=0,i,flag=0,a,b,c;
	
	for(i=0;i<10;i++){
		cin>>suchi;
			
		if(flag==0){
			high = suchi;
			flag++;
			}
			
		else{
			if(suchi<low);
			
			else if(suchi>=low&&suchi<middle)
				low = suchi;
			
			else if(suchi>=middle&&suchi<high){
				low = middle;
				middle = suchi;
			}else{
				low = middle;
				middle = high;
				high = suchi;
				}
				
			}
	}
	
	cout<<high<<endl;
	cout<<middle<<endl;
	cout<<low<<endl;
	
	return 0;
}

C++: #include<iostream>
using namespace std;
//????????????
void swap(int idx1, int idx2, int *node)
{
	int f = node[idx1];
	node[idx1] = node[idx2];
	node[idx2] = f;
}
//??????????????????????????????????????nlogn
void quickSort(int left, int right , int *node)
{
	int pl = left;
	int pr = right;
	int pivot_f = node[(pl + pr) / 2];
	do
	{
		while (node[pl] < pivot_f)
		{
			pl++;
		}
		while (node[pr]> pivot_f)
		{
			pr--;
		}
		if (pl <= pr)
		{
			swap(pl++, pr-- , node);
		}
	} while (pl <= pr);
	if (left < pr) quickSort(left, pr , node);
	if (pl <= right) quickSort(pl, right , node);
}

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

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

int main()
{
	unsigned length[10]={};
	for(int i=0; i<10; ++i)
	{
		cin >> length[i];
	}
	sort(begin(length), end(length), greater<unsigned>());
	cout << length[0] << '\n' << length[1] << '\n' << length[2] << '\n';
}

C++: #include <stdio.h>

int main()
{
    int arr[15],i,j,temp;

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

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


    for(i=9;i>=7;i--)
    {
        printf("%d\n",arr[i]);
    }


    return 0;
}

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

int main(void) {
    std::priority_queue<u_int> heights;

    for (u_int h, i = 0; i < 10; ++i) {
        std::cin >> h;
        heights.push(h);
    }

    for (u_int i = 0; i < 3; ++i) {
        std::cout << heights.top() << std::endl;
        heights.pop();
    }

    return 0;
}

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

int main(void){
	int x[10],top[3];
	int i;

	for(i=0;i<3;i++){
		top[i] = 0;
	}
	for(i=0;i<10;i++){
		std::cin >> x[i];
		if(top[0] < x[i]){
			top[2] = top[1];
			top[1] = top[0];
			top[0] = x[i];
		}
	}

	std::cout << top[0] << "\n" << top[1] << "\n" <<top[2] << "\n";
	return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <stdio.h>
#define pri(dt) printf("%d\n",dt)
#define RPE0(loopTotal)  for(int i=0;i<=(loopTotal);i++)
#define RPE(loopTotal)  for(int i=1;i<=(loopTotal);i++)

int data[9];

using namespace std;
int main(void){
    
    
    RPE0(9) scanf("%d",&data[i]);
    sort(data,data+9,greater<int>());
    RPE0(2) pri(data[i]);
    data[9] = {};
}

C++: #include<vector>
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
	
	int n,a;
	vector<int>v;
	
	for(n=0;n<10;n++){
	cin>>a;
	v.push_back(a);
	}

	sort(v.begin(),v.end());
	cout << v[7] << endl << v[8] << endl << v[9] << endl;
	
}

C++: #include<iostream>

int main(){
  int n=10; //?±±?????°
  int height[n];

  //?±±????????????????????????
  std::cout << "Input 10 of height\n";
  for(int i=0; i<n; i++){
    std::cout << "mountain:"; std::cin >> height[i];
  }
  
  //????????????????????????
  for(int i=0; i<n; i++){
    for(int j=n-1; j>i; j--){
      if(height[j-1] < height[j]){
	int k = height[j-1];
	height[j-1] = height[j];
	height[j] = k;
      }
    }
  }
  
  //????????????????±±??????????????¨???
  for(int i=0; i<3; i++){
    std::cout << height[i] << '\n';
  }

  return 0;
  
}

C++: #include<iostream>
#include<string>
#include<vector>
#include<map>
using namespace std;
template <class YT>
class Array
{
	vector<YT> data;
public:
	Array()
	{
	}
	void add(YT value)
	{
		data.push_back(value);
	}
	void add()
	{
		YT p;
		data.push_back(p);
	}
	YT &operator[](int index)
	{
		if(index>=data.size())
		{
			YT element;
			data.push_back(element);
		}
		return data[index];
	}
	int size()
	{
		return data.size();
	}
	void sort()
	{
		for(int i=0;i<data.size()-1;i++)
			for(int j=i+1;j<data.size();j++)
				if(data[i]>data[j])
				{
					YT p=data[i];
					data[i]=data[j];
					data[j]=p;
				}
	}
};
int main()
{
	int n=10,p=0;
	Array<int> mount;
	for(int i=0;i<n;i++)
	{
		cin>>p;
		mount.add(p);
	}
	mount.sort();
	cout<<mount[mount.size()-1]<<endl;
	cout<<mount[mount.size()-2]<<endl;
	cout<<mount[mount.size()-3]<<endl;
	return 0;
}