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;

int main()
{
  int high;
  int temp1,temp2;
  int first=0,second=0,third=0;
  
  for(int i=0;i<10;i++){
    cout<<"山の高さ"<<i<<":";
    cin>>high;
    if(high>first){
      temp1=first;
      first=high;
      temp2=second;
      second=temp1;
      third=temp2;
    } else if (first>=high && high>second){
      temp2=second;
      second=high;
      third=temp2;
    } else if (second>=high && high>third){
      third=high;
    }
  }

  cout<<"1番目に高い山の高さ:"<<first<<endl;
  cout<<"2番目に高い山の高さ:"<<second<<endl;
  cout<<"3番目に高い山の高さ:"<<third<<endl;
  
  return 0;
}

C++: #include <iostream>

using namespace std;

int main() {
	int i, j, temp, m[10];

	for(i=0; i<10; i++) {
		m[i]=0;
	}

	for(i=0; i<10; i++) {
		while(1) {
			cin >> m[i];
			if(m[i]>0&&m[i]<10001)
				break;
		}
	}

	for(i=0; i<9; i++) {
		for(j=9; j>i; j--) {
			if(m[j-1]<m[j]) {
				temp=m[j-1];
				m[j-1]=m[j];
				m[j]=temp;
			}
		}
	}
	
	for(i=0; i<3; i++) {
		cout << m[i] << endl;
	}
}

C++: #include <cstdio>
#include <set>

int main(){
  using namespace std;
  set<int, greater<int> > mts;
  for(int i = 0; i < 10; i++){
    int tmp;
    scanf("%d", &tmp);
    mts.insert(tmp);
  }
  int count = 0;
  for(int mt : mts){
    printf("%d\n", mt);
    if(++count >= 3) break;
  }
}

C++: #include<stdio.h>

int main(void)
{
	int high[10]={0};
	int x,max1=0,max2=0,max3=0;

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

	for(x=0;x<10;x++)
	{
		if(max1<high[x])
		{
			max3=max2;
			max2=max1;
			max1=high[x];
		}
		else if(max2<high[x])
		{
			max3=max2;
			max2=high[x];
		}
		else if(max3<high[x])
		{
			max3=high[x];
		}
	}

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

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

#define int long long int
#define main signed main()
#define bye return 0
#define loop(i, a, n) for (int i = (a); i < (n); i++)
#define rep(i, n) loop(i, 0, n)
#define each(p, v) for (auto p = (v).begin(); p != (v).end(); p++)
#define all(v) (v).begin(), (v).end()
#define prec(n) fixed << setprecision(n)
#define dump(x) cerr << "(L" << __LINE__ << ") " << #x << " = " << (x) << endl
#define clr(x, a) memset(x, a, sizeof(x))

#define sum(v) accumulate(all(v), 0)
#define stlice(from, to) substr(from, (to) - (from) + 1)
#define odd(n) ((n) % 2)
#define even(n) (!odd(n))

#define INF 1000000000
#define MOD 1000000007

#define pb push_back
#define mp make_pair
#define mt make_tuple
#define fi first
#define se second
#define vi vector<int>
#define vb vector<bool>
#define vc vector<char>
     
using namespace std;

main {
  vi t(10);
  rep(i, 10) cin>>t[i];
  sort(t.rbegin(), t.rend());
  cout<<t[0]<<endl<<t[1]<<endl<<t[2]<<endl;
  bye;
}

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

int main(){
	int h = 0,m = 0,l = 0,tmp,i;

	for(i = 0;i < 10;i++){
		cin>>tmp;
		if(tmp >= h){
			l = m;
			m = h;
			h = tmp;
		}else if(tmp >= m){
			l = m;
			m = tmp;
		}else if(tmp >= l){
			l = tmp;
		}
		cout<<h<<endl;
		cout<<m<<endl;
		cout<<l<<endl;
	}
	cout<<h<<endl;
	cout<<m<<endl;
	cout<<l<<endl;
	return 0;
}

C++: /*
List of Top 3 Hills
?±±???????????????????????????????????´??°??§??¨?????? 10 ?????????????????????????????????
?????? 10 ?????????????????????????????????
???????????§????????????????????????????????????????????°?????????????????????????????????
*/

#include <iostream>
#include <array>

using namespace std;

int main()
{
	// ?????°??£?¨?
	array< int, 10 > array1;

	// ??\?????????
	for ( int i = 0; i < 10; i++ ) {
		cin >> array1[ i ];
	}

	// ???????????????
	for ( int i = 1; i < 10; i++ ) {
		for ( int j = 0; j < i; j++ ) {
			if ( array1[ j ] > array1[ i ] ) {
				int tmp = array1[ i ];
				array1[ i ] = array1[ j ];
				array1[ j ] = tmp;
			}
		}
	}

	// ????????????
	cout << array1[ 9 ] << endl << array1[ 8 ] << endl << array1[ 7 ] << endl;

	return 0;
}

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

#define rep(p,q) for(int i = p; i < q;i++)

//1

int main(void) {
	vector<int> mountain = vector<int>();
	rep(0, 10) {
		int x;
		cin >> x;
		mountain.push_back(x);
	}
	sort(mountain.begin(), mountain.end(), greater<int>());
	rep(0, 3) {
		cout << mountain[i] << endl;
	}
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main(){
  int hill[10];
  for(int i=0; i<10; i++){
    cin >>hill[i];
  }
  sort(hill,hill+10);
  cout <<hill[9]<<endl<<hill[8]<<endl<<hill[8]<<endl;
  return 0;
}

C++: #include <iostream>
//#include <iomanip>
//#include <vector>
#include <string>
#include <algorithm>
#include <functional>

using namespace std;

int main(){

	int h[10];

	for (int i = 1; i <= 9; i++){
		cin >> h[i];
	}

	sort(h,h+10,greater<int>());

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

	return 0;
}

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

int main()
{
	int nArrIn[10] = { 0 };
	int n = 0;
	while (n < 10)
	{
		cin >> nArrIn[n];
		n++;
	}
	sort(nArrIn, nArrIn + 10);
	cout << nArrIn[9] << endl;
	cout << nArrIn[8] << endl;
	cout << nArrIn[7] << endl;
	return 0;
}

C++: #include<stdio.h>
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
    long long i,a;
    vector<int>v;
    for(i=0;i<10;i++)
    {
        cin>>a;
        v.push_back(a);
    }
    sort(v.begin(),v.end());
    cout<<v[9]<<endl<<v[8]<<endl<<v[7]<<endl;
    v.clear();
    return 0;
}

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

int main(int argc, char *argv[]) {
  int hills[10] = {0};

  for (int i = 0; i < 10; i++)
    cin >> hills[i];
  sort(hills, hills + 10);
  for (int i = 0; i < 3; i++)
    cout << hills[9-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];
	}
	for(int x=0;x<10;x++){
		for(int i=0;i<9;i++){
			if(a[i] > a[i+1]){
				swap(a[i],a[i+1]);
			}
		}
		
	}
	cout<<a[9]<<" "<<a[8]<<" "<<a[7]<<endl;
	return 0;
}

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

int main()
{
	std::priority_queue<int> q;
	for( int i = 0; i < 10; i++ ){
		int n;
		std::cin >> n;
		q.push( n );
	}
	
	for( int i = 0; i < 3; i++ ){
		std::cout << q.top() << std::endl;
		q.pop();
	}

 	return 0;
}

C++: #include <iostream>

int main(){
	int Hills[10],i,j,n;

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

	
		return 0;
		}

C++: #include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
    int a[100],i,j,temp;
    while(1)
    {
        for(i=0;i<10;i++)
        {
            scanf("%d",&a[i]);
        }

        sort(a,a+10);

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