Go: package main

import (
	"bufio"
	"fmt"
	"os"
	"sort"
	"strconv"
	"strings"
)

var maxint = 10000
var scanner = bufio.NewScanner(os.Stdin)

func nextInt() (int, error) {
	scanner.Scan()
	return strconv.Atoi(scanner.Text())
}

func main() {
	scanner.Split(bufio.ScanWords)
	arr := make([]int, 10)
	for i := range arr {
		n, _ := nextInt()
		arr[i] = n
	}

	sort.Slice(arr, func(i, j int) bool {
		return arr[i] >= arr[j]
	})

	arrStr := fmt.Sprintf("%+v", arr[0:3])
	arrStr = arrStr[1:(len(arrStr) - 1)]
	arrStr = strings.Replace(arrStr, " ", "\n", -1)
	fmt.Println(arrStr)
}

C++: #include<stdio.h>
int main()
{
int x,t1,t2,t3;
t1=0;t2=0;t3=0;
for(int i=0;i<10;i++){
scanf("%d",&x);
if(x>t1)t1=x;
else if(x>t2)t2=x;
else if(x>t3)t3=x;
}
printf("%d\n%d\n%d\n",t1,t2,t3);

return 0;
}

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

int main()
{
  int a[11]={0};
  int i,j,maxa,maxb,maxc;
  

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

  for(i=0; i<10; i++){
    for(j=0; j<10; j++){
      if(a[i]<a[j]){
	swap(a[i],a[j]);
      }
    }
  }

  maxa=a[0];
  maxb=a[1];
  maxb=a[2];

  printf("%d\n%d\n%d",maxa,maxb,maxc);
  
  return 0;
}

C++: #include<stdio.h>
#include<math.h>
#include<algorithm>

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

	printf("%d\n%d\n%d\n", h[1], h[2], h[3]);

	return 0;
}

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

int main() {
	int Height[20];

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

	for(int i=0; i<9; ++i) {
		for(int j=i; j<10; ++j) {
			if(Height[i] < Height[j]) {
				int tmp;
				tmp= Height[i];
				Height[i]= Height[j];
				Height[j]= tmp;
			}
		}
	}

	for(int i=0; i<3; ++i) printf("%d\n", Height[i]);

	return 0;
}

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

int main(){
	int i=0;
	int m[10];
	for(i=0;i<10;i++)
	{
		cin>>m[i];
	}
	
	int temp=0;
	i=0;
	
	for(i=0;i<10;i++)
	{
		if(temp<m[i])
		{
			temp=m[i];
		}
	}
	int f=temp;
	i=0;
	temp=0;
	for(i=0;i<10;i++)
	{
		if(temp<m[i]&&m[i]<f)
		{
			temp=m[i];
		}
	}
	int s=temp;
	i=0;
	temp=0;
	for(i=0;i<10;i++)
	{
		if(temp<m[i]&&m[i]<s)
		{
			temp=m[i];
		}
	}
	int t=temp;
	
	cout<<f<<endl<<s<<endl<<t<<endl;

    return 0;
}

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

int main() {
	int list[10]={};
	
	for(int i=0;i<10;i++){
		cin >> list[i];
		}
	
	for(int x=0;x<10;x++){
		for(int y=0;y<10;y++){
			
			if(list[x]>list[y]){
				int a=list[y];
				list[y]=list[x];
				list[x]=a;
			}
			
		}	
	}
	
	for(int i=0;i<3;i++){
	cout << list[i]<<endl;
	}
	
	
	return 0;
}

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

int main()
{
	int max = 0;
	int max2 = 0;
	int max3= 0;
	int a[10];

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

	for (int i = 0; i < 10; i++) {
		if (max3 < a[i] && a[i] < max2) max3 = a[i];
	}


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

		return (0);
	
}

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

int main(void)
{
  int array[10];
  int i, j;
  int end;
  int temp;
  for(i = 0; i < 10; i ++){
    cin >> array[i];
  }

   while(1){
    end = 0;

    for(j = 0; j < 9; j++){
      
      if(array[j] > array[j + 1]){
	temp = array[j];
	array[j] = array[j + 1];
	array[j + 1] = temp;
	end = 1;

      }

    }

  if(end == 0){ break ; }

  }

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

  return 0;
}

C++: #include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    vector<int> yama(10);
    for(int i=0;i<10;i++){
        cin >> yama[i];
    }
    sort(yama.begin(),yama.end);
    cout << yama[9] << "\n" << yama[8] << "\n" << yama[7] << "\n";
}

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

int main() {
  vector<int> v;
  for(int i = 0; i < 10; ++i) {
    int a;
    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;
}
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
using namespace std;

int main() {
  vector<int> v;
  for(int i = 0; i < 10; ++i) {
    int a;
    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<vector>
#include<algorithm>
using namespace std;

int main() {
	
	vector<int> mountain(10);
	for (int number = 0; number < 10; number++)cin >> mountain[number];
	
	sort(mountain.rbegin(), mountain.rend());

	for (int number = 0; number != 3; number++)cout << mountain[number] << endl;

	return 0;
}
//*/

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

int main(){

	int mt_list[10];

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

	int high[3] = { 0, 0, 0 };
	for (int h = 0; h<3; h++){
		int tmp = 0;
		for (int i = 0; i<10; i++){
			if (high[h] <= mt_list[i]){
				high[h] = mt_list[i];
				tmp = i;
			}
		}
		high[h] = mt_list[tmp];
		mt_list[tmp] = 0;
	}

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

	return 0;
}

C++: #include<stdio.h>
int main(){
int m[11],i,j,work;
for(i=0;i<10;i++){
 scanf("%d",&m[i]);
}
for(i=0;i<10;i++){
 for(j=0;j<10;j++){
  if(m[i]>m[j]){
   work=m[i]; m[i]=m[j]; m[j]=work;
   }
  }
 }
for(i=0;i<3;i++){
 printf("%d\n",m[i]);
}
return 0; }

C++: #include <iostream>
using namespace std;
int main(void){
    int s,w,t,y,roop,i;
    s=0;
    w=0;
    t=0;
    roop=0;
    while(1){
        roop=roop+1;
        cin>>y;
        if(y>=t){
            i=3;
            if(y>=w){
                i=2;
                if(y>=s){
                    i=1;
                }
            }    
        }
        if(i==1){swap(y,s);}else if(i==2){swap(y,w);}else if(i==3){swap(y,t);}
        if(roop>=10){
            break;
        }
        i=0;
    }
    cout<<s<<endl;
    cout<<w<<endl;
    cout<<t<<endl;
}

C++: #include<stdio.h>

int main() {
  int h[3] = {-1, -1, -1},t,s;
  for(int i=0; i<10; ++i) {
    scanf("%d", &t);
    for(int j=0; j<3; ++j) {
      if(h[j] < t) {
	s = h[j];
	h[j] = t;
	t = s;
      }
    }
  }

  for(int i=0; i<3; ++i) printf("%d\n", h[i]);
}

C++: #include <iostream>
const int SIZE=10,TOPNUM=3;
using namespace std;

int main(){
  int height[SIZE],top[TOPNUM+1]={0};
  for( int i=0;i<SIZE;i++ ){
    cin>>height[i];
    if( height[i]<0||10000<height[i] )
      return 1;
    for( int j=0;j<TOPNUM;j++ ){
      if( top[j]<=height[i] ){
	for( int k=TOPNUM;k>j;k-- ){
	  top[k]=top[k-1];
	}
	top[j]=height[i];
	break;
      }
    }

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

C++: #include <stdio.h>

int nList[10],nGet,nSave[3];
int main() {
    for (int i=0;i<10;i++){
            scanf("%i",&nGet);
    nList[i]=nGet;
    }


for (int rf=0;rf<10;rf++ ){
for (int rt=0;rt<10;rt++){
for (int rs=0;rs<10;rs++){
    if (nList[rs]>nSave[0]){nSave[0]=nList[rs];}
    else if (nList[rs]>nSave[1]&&nList[rs]!=nSave[0]){nSave[1]=nList[rs];}
    else if (nList[rs]>nSave[2]&&nList[rs]!=nSave[0]&&nList[rs]!=nSave[1]){nSave[2]=nList[rs];}
    }
    }
    }


printf("%i\n%i\n%i",nSave[0],nSave[1],nSave[2]);
}

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

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