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<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;
}

C++: #include <cstdio>
#include <algorithm>
int main()
{
        int hight[10];
        int c;
        for(c=0;c<10;c++)
        {
                scanf("%d",&hight[c]);
        }

        int i,j,k;

        for(i=0;i<10;i++)
        {

                for(j=0;j<9;j++)
                {
                        if(hight[j]<hight[j+1])
                                {
                                k=hight[j];
                                hight[j]=hight[j+1];
                                hight[j+1]=k;
                                }
                }
        }

        printf("%d\n%d\n%d\n",hight[0],hight[1],hight[2]);

        return 0;

}

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

int main(void)
{
    vector <int> a;
    int b;

    for (int i = 0; i < 10; i++){
    cin>>b;
a.push_back(b);
}
sort(a.begin(), a.end());
cout << a[0] << endl << a[1] << endl << a[2] << endl;

return 0;
}

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

int main(){
  vector<int> h(10);

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

  sort(begin(v),end(v),greater<int>());

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

C++: #include<bits/stdc++.h>
using namespace std;
int ma1,ma2,ma3,a[9],i,j,c;
int main(){
	for(i=0;i<10;i++){
		cin>>a[i];
	}
	while(c<=9){
	     for(j=9;j>=1;j--){
		     if(a[j]<a[j-1]){
			    swap(a[j],a[j-1]);
		      }
		 }
		  c++;
		  j=9;
	 }
	 cout<<a[0]<<endl;
	 cout<<a[1]<<endl;
	 cout<<a[2]<<endl;
 }

C++: #include <iostream>
#define N 10

using namespace std;

void swap(int& a, int& b){
	int tmp = a;
	a = b;
	b = tmp;
}

void bubble_sort(int mountain[N]){
	for (int i=(N-1); i>0; --i){
		for (int j=i; j>0; --j){
			if (mountain[j-1] < mountain[j]){
				swap(mountain[j-1], mountain[j]);
			}
		}
	}
}

int main(void){
	int mountain[N];
	for (int i=0; i<N; ++i){
		int tmp;
		do{
			cin >> tmp;
		}while ((tmp<0) || (10000 < tmp));
		mountain[i] = tmp;
	}
	bubble_sort(mountain);
	//cout << "output" << endl;
	for (int i=0; i<3; ++i){
		cout << mountain[i] << endl;
	}
	return 0;
}

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

int main()
{
  std::vector<int> hills;
  int temp;
  while(std::cin >> temp) {
    hills.push_back(temp);
  }
  std::sort(hills.begin(), hills.end());

  auto it = hills.rbegin();
  for(int i = 0; i < 3; ++i) {
    std::cout << *it << std::endl;
    it++;
  }
}

C++: #include<cstdio>
#include<deque>
#include<algorithm>
using namespace std;
main(){
	int n,i;
	deque<int>h;
	while(~scanf("%d",&n))
		h.push_back(n);
	sort(h.begin(),h.end());
	for(i=9;i>6;)
		printf("%d\n",h[i--]);
}