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++: //
//  main.cpp
//  kyougi
//
//  Created by 寺林 一旭 on 2018/08/27.
//  Copyright © 2018年 寺林 一旭. All rights reserved.
//

#include <iostream>
#include <vector>
#include <algorithm>
#include <stdio.h>
using namespace std;
int main() {
    
    string num;
    vector<int> list;
    while(getline(cin, num))
    {
  
        int a,b;
        sscanf(num.c_str(), "%d %d",&a,&b);
        
        cout << a-b <<endl;
    }
   
    
    return 0;
}

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

int main(){

??????vector<int> data;

    for(int i=0;i<10;i++)
    {
       int input;
       cin>>input;
       data.push_back(input);
    }
    
    sort(data.begin,data.end,greater<int>());
    
    for(int i=0,i<3;i++)
    {
       cout<<data[i]<<endl;
    }

    return 0;
}

C++: #include <stdio.h>


int main(){
	int h[3]={0,0,0};
	int c,i;
	for(i=0;i<10;i++){
		scanf("%d",&c);
		if(c>h[0]){
			h[2]=h[1];
			h[1]=h[0];
			h[0]=c;
		}else if(c>h[1]){
			h[2]=h[1];
			h[1]=c;
		}else if(c>h[0]){
			h[2]=c;
		}
	}
	for(i=0;i<2;i++){
		printf("%d ",h[i]);
	}printf("%d\n",h[2]);
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
void q_sort(int array[], int begin, int end);

void q_sort(int array[], int begin, int end){
    int i = begin;
    int k = end;
    int pivot;
    int temp;
    pivot = array[(begin + end) / 2];
    while (1) {
        while (array[i] < pivot) {
            ++i;
        }
        while (pivot < array[k]) {
            k--;
        }
        if (i >= k) {
            break;
        }
        temp = array[i];
        array[i] = array[k];
        array[k] = temp;
        i++;
        k++;
    }
    if (begin < i - 1) {
        q_sort(array, begin, i - 1);
    }
    if (k + 1 < end) {
        q_sort(array, k + 1, end);
    }
}
int main(int argc, const char * argv[])
{
    int mt[10];
    for (int i = 0; i < 10; i++) {
        cin >> mt[i];
    }
    q_sort(mt, 0, 10);
    for (int i = 9; 6 < i; i--) {
        cout << mt[i] << endl;
    }
    return 0;
}

C++: #include<bits/stdc++.h>

using namespace std;

int main(){
  int n;
  int mount[10]={};

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

  for(int i=9;i > 6;i--){
    
    cout << mount[i] << endl;
  }
  return 0;
}

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

void top3()
{
    int *temp = new int;
    int *bil = new int[10];
    int i = 0;

    while(i<10)
    {
        cin >> bil[i];
        if(bil[i] >=0 && bil[i] <= 10000)
            i++;
        else
            exit(1);
    }
    for(int i = 0; i < 10-1; i++)
    {
        for(int j = i+1; j < 10; j++ )
        {
            if(bil[j] > bil[i])
            {
                *temp = bil[i];
                bil[i] = bil[j];
                bil[j] = *temp;
            }
        }
    }
    for(int i = 0; i < 3; i++)
    {
        cout << bil[i]<< endl;
    }
    delete [] bil;
    delete temp;
}


int main () {

    top3();

return 0;

}

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

int main(){
	vector<int> vec_height(10);
	
	for (auto& h : vec_height)
		cin >> h;

	sort(vec_height.begin(), vec_height.end(), greater<int>());
	
	cout
		<< vec_height[0] << endl
		<< vec_height[1] << endl
		<< vec_height[2] << endl;
	
    return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
    int i,j,a[10],temp=0;
    for(i=0; i<10; i++)
    {
        cin>>a[i];
    }
    for(i=0; i< 10; i++)
    {
        for(j=1; j<9; j++)
        {
            if(a[j]<a[i])
            {
                temp = a[i];
                a[i] = a[j];
                a[j] = temp;
            }
        }
    }
    for(i=1; i<4; i++)
    {
        cout<<"\n"<<a[i]<<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 + n,greater<int>());
for(int i = 0;i < 3;i++) cout << a[i] << endl;
}

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

int main(){
	vector<int> v;
	int a;
	for (int i = 0; i < 10; ++i) {
       cin>>a;
       v.push_back(a);
	}
	sort(v.begin(),v.end(),greater<int>());
	for (int i = 0; i < 3; ++i) {
		cout<<v[i]<<endl;
	}
    return 0;
}

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

int main() {
	//0000
	/*
	int i, j;

	for (i = 1; i < 10; i++) {
		for (j = 1; j < 10; j++) {
			cout << i << "x" << j << "=" << i*j << endl;
		}
	}
	*/

	int i;
	const size_t MNum = 10;
	int MHeight[MNum];
	int MH1 = 0, MH2 = 0, MH3 = 0;
	for (i = 0; i < 10; i++) {
		cin >> MHeight[i];
		if (MHeight[i] > MH1) {
			MH3 = MH2;
			MH2 = MH1;
			MH1 = MHeight[i];
		}
		else if (MHeight[i] > MH2) {
			MH3 = MH2;
			MH2 = MHeight[i];
		}
		else if (MHeight[i] > MH3) {
			MH3 = MHeight[i];
		}
	}
	cout << MH1 << endl << MH2 << endl << MH3 << endl;
	

	return 0;
}

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

bool cmp(const int a, const int b)
{
  return a > b;
}

int main(int argc, char** argv)
{
  int h[10];

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

  std::sort(h + 0, h + 10, cmp);

  std::cout <<
    h[0] << std::endl <<
    h[1] << std::endl <<
    h[2] << std::endl;
}

C++: #include<iostream>
using namespace std;
int main()
{
    int a=0,b=0,c=0,t=0,n=10;
    while(n--)
    {
              cin>>t;
              if(t>c)
              {
                     if(t>b)
                     {
                            if(t>a)
                            {
                                   c=b;
                                   b=a;
                                   a=t;
                                   }
                            }
                            else
                            {
                                c=b;
                                b=t;
                                }
                     }
                     else c=t;
              }
              cout<<a<<endl<<b<<endl<<c<<endl;
   return 0;
    }

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


int main()
{
	int i[10];
	cin >> i[1] >> i[2] >> i[3] >> i[4] >> i[5] >> i[6] >> i[7] >> i[8] >> i[9] >> i[10];
	sort(i, i+10);
	cout << i[9] << endl;
	cout << i[8] << endl;
	cout << i[7] << endl;

	return 0;
}

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

int main()
{
    const int num_of_height = 10;
    const int num_of_top = 3;
    const int min = 0;
    const int max = 10000;
    
    int h;
    std::vector<int> height;
    height.reserve(num_of_height);
    
    std::cout << num_of_height << "個の高さの入力" << std::endl;
    for(int i = 0; i < num_of_height; ++i){
        while(1){
            std::cin >> h;
            if(min <= h && h <= max)
                break;
            else
                std::cout << min << "<=h<=" << max << "に設定" << std::endl;
        }
        height.push_back(h);
    }
    
    sort(height.begin(), height.end(), std::greater<int>());
    
    std::cout << "高い順から" <<  num_of_top << "個出力" << std::endl;
    for(int i = 0; i < num_of_top; ++i)
        std::cout << height.at(i) << std::endl;
        
    return 0;
}