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>

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

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

int main(){
	int H[10];
	
	for(int i = 0; i < 10; i++){
		scanf("%d", H + i);
	}
	
	sort(H, H + 10);
	
	for(int i = 1; i <= 3; i++){
		printf("%d\n", H[10 - i]);
	}
	
	return 0;
}

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

int main() {
	ios :: sync_with_stdio(false);
	int a[10];
	for(int i = 0; i < 10; i ++)
		cin >> a[i];
	sort(a, a + 10, greater<int>());
	for(int i = 0; i < 3; i ++)
		cout << a[i] << '\n';
	return 0;
}

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

int main(){
	int a =0,b=0,c=0;
	int t = 0;
	int mid = 0;
	for(int i =0;i < 10; i++){
		cin >> t;
		if(t > a){
			mid = t;
			t = a; 
			a = mid;
		}
		if(t > b){
			mid = t;
			t = b; 
			b = mid;
		}
		if(t > c){
			mid = t;
			t = c; 
			c = mid;
		}
	}
	cout <<a<<endl;
	cout <<b<<endl;
	cout <<c<<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] = a[j];
			}
		}
	}
	for (i = 9; i > 6; i--) {
		cout << a[i] << endl;
	}
	return 0;
}

C++: #include <stdio.h>

int main(void) {
	int d,m1,m2,m3,i;
	m1=0;
	m2=0;
	m3=0;
	for(i=0;i<10;i++);{
		scanf("%d",&d);
		if(m1<d){
			m1=d;
		}
		else if(m2<d){
			m2=d;
		}
		else if(m3<d){
			m3=d;
		}
	}
	printf("???????????????????±±?????????%d\n",m1);
	printf("???????????????????±±?????????%d\n",m2);
	printf("???????????????????±±?????????%d\n",m3);
	
	return 0;
}

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

void descending()
{
    int mountain;
    int count[10];
    
    for(int i=0; i<10; i++)
    {
        cin>>mountain;
        count[i]= mountain;
    }
    
     for (int i=0; i<9; i++)    
    {
          for(int j=(i+1); j<10; j++)   
         {
                if (count[i] < count[j])          
               {
                        int temp = count[i];          //swap
                        count[i] = count[j];
                        count[j] = temp;
               }
          }
     }
    
    for(int i=0; i<3; i++)
    {
        cout<<count[i]<<endl;
    }
    
    return;
}


int main(){

    descending();
    return 0;
}

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

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

  sort(h, h+10);

  cout<<h[9]<<h[8]<<h[7]<<endl;
  return 0;
}

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

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

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

    sort(arr,arr+10);

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

C++: #include<stdio.h>

int main()
{
  int i;
  int a[10];
  int top1 = 0,top2 = 0,top3 = 0;

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

    if(top1<a[i]){
      top1 = a[i];
    }
  }
  for(i=0;i<10;i++){
    if(top2<a[i] && a[i]<top1){
      top2 = a[i];
    }
  }
  for(i=0;i<10;i++){
    if(top3<a[i] && a[i]<top2){
      top3 = a[i];
    }
  }


  printf("%d\n",top1);
  printf("%d\n",top2);
  printf("%d\n",top3);
  return 0;
}