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;

void reverse(int *array, int length) {
	int i;
	int j;
	for(i=0;i<length-1;i++){
		for(j=i+1;j<length;j++){
			if(array[i]<array[j]){
				int temp=array[i];
				array[i]=array[j];
				array[j]=temp;
			}
		}
	}
}

int main() {
	int mountain[10];
	for (int i = 0; i < 10; i++) {
		cin >> mountain[i];
	}
	reverse(mountain, 10);
	for (int i = 0; i < 3; i++) {
		cout << mountain[i] << endl;
	}
}

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

using namespace std;

int main(){
    vector <int> v;
    int a;    
    
while(1){
for(int i=0;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 main(){
    vector<int> m(10);

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

    cout << m[9] << endl;
    cout << m[8] << endl;
    cout << m[7] << endl;

    return 0;
}

C++: #include <iostream>
using namespace std;
int main(){
int n[10];
for(int i=0;i<10;i++)
 cin >> n[i];

int a,b=0;
for(int j=0;j<3;j++){
for(i=0;i<10;i++){
if(b<n[i]){
b = n[i];
a = i;
}
}
cout << b;
n[a] = 0;
}

	return 0;
}

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

int main(void)
{
    int a, max1, max2, max3, temp;

    max1 = max2 = max3 = INT_MIN;
    while(~scanf("%d", &a)) {
        if(a > max3) {
            max3 = a;

            /* 排序 */
            if(max3 > max1) {
                temp = max3;
                max3 = max2;
                max2= max1;
                max1 = temp;
            } else if(max3 > max2) {
                temp = max3;
                max3 = max2;
                max2 = temp;
            }
        }
    }

    printf("%d\n%d\n%d\n", max1, max2, max3);

    return 0;
}

C++: #include <iostream>

#include <vector>

#include <algorithm>

using namespace std;



int main() {

    vector<int> heights;

    int height;

    while (cin >> height) {

        heights.push_back(height);

    }

    sort(heights.rbegin(), heights.rend());

    for (int i = 0; i != 3; ++i) {

        cout << heights[i] << endl;

    }

    return 0;

}

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

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

  for(int i = 0 ; i < 10 ; i++)
    {
      for(int j = i + 1 ; j < 10 ; j++)
	{
	  if(height[i] < height[j])
	    {
	      int dumy = height[i];
	      height[i] = height[j];
	      height[j] = dumy;
	    }
	}
    }
  for(int i = 0 ; i < 3 ; i++)
    {
      cout << height[i] << endl;
    }
  return 0;
}

C++:  #include<iostream>
using namespace std;
int main()
{
	int a[10];
	int i=0,j=0;
	for(int i=0;i<10;i++)
	{
	    cin>>a[i];
	}
	for(i=0;i<3;i++)
	{
		for(j=0;j<9-i;j++)
		{
			if(a[j]>a[j+1])
			{
				int temp;
				temp=a[j+1];
				a[j+1]=a[j];
				a[j]=temp;
			}
		}
	 } 
	for(int i=9;i>6;i--)
	{
	    cout<<a[i]<<endl;
	}
	return 0;
}

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

int main(){
  int tall[10],no1=0,no2=0,no3=0,i;
  for(i=0;i<=9;i++){
    cin>>tall[i];
  }
  for(i=0;i<=9;i++){
    if(tall[i]>=no1){
      no3=no2;
      no2=no1;
      no1=tall[i];
    }
    if(tall[i]>=no2&&tall[i]<no1){
      no3=no2;
      no2=tall[i];
    }
    if(tall[i]>=no3&&tall[i]<no2){
      no3=tall[i];
    }
  }
  cout<<endl<<no1<<endl<<no2<<endl<<no3<<endl;

  return 0;
}

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

int main()
{
	/*?¨???????????????????*/
	int a[10];
	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;

	return 0;
}

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

int main(){

	int i = 0,j=0,k=0;
	int mountain[11] = {1819,2003,876,2840,1723,1673,3776,2848,1592,922};

	for(i=0;i<10;i++){
		for(j=i+1;j<10;j++){
	if(mountain[i] < mountain[j]){
		k = mountain[j];
		mountain[j] = mountain[i] ;
		mountain[i] = k ;
	}
	}
	}

	for(i=0;i<3;i++){
		cout << mountain[i] <<"\n" ;
	}

	scanf("%d",&i);
    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>());
	vector<int>::iterator it = data.begin();
	for(int i=0; i < 3 ; ++it, ++i)
		printf("%d\n",*it);
	return 0;
}

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

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

int main(){
  std::vector<int> vech;
  for(int i = 0; i < 10; i++){
    std::cin >> vec[i];
  }
  std::sort(vec.begin(), vec.end(), std::greater<int>());
  for(int i = 0; i < 3; i++){
    std::cout << vec[i] << std::endl;
  }
}

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

using namespace std;

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