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 <stdio.h>
int main(void){
    int a=0,b=0,c=0,n,t;
    while(scanf("%d",&n)>0){
        if(n>a)t=n,n=a,a=t;
        if(n>b)t=n,n=b,b=t;
        if(n>c)c=n;
    }
    printf("%d\n%d\n%d\n",a,b,c);
    return 0;
}

C++: #include<iostream>

int main(void)
{
	int i,j,max,tmp,high[10];

	for(i=0;i<10;i++){
		std::cin >> high[i];
	}

	for(i=0;i<3;i++){
		for(j=1,tmp=1,max=high[0];j<10;j++){
			if(max<high[j]){
				max=high[j];
				tmp=j;
			}
		}
		high[tmp]=0;
		std::cout << max << std::endl;
	}
	return 0;
}

C++: #include <iostream>
#include <string>
using namespace std;
 
int main(){
int rank[3],a[10],i = 0,ii = 0;
rank[0] = 0;
rank[1] = 0;
rank[2] = 0;
while(i <= 9){
	cin >> a[i];
	while(ii <= 2){
		if(rank[ii] == 0){
			rank[ii] = a[i];
			break;
		}else{
			if(rank[ii] < a[i]){
				if(ii != 2){
				rank[ii+1] = rank[ii];
				rank[ii] = a[i];
				}
				break;
			}
		}
		ii++;
	}
i++;
ii = 0;

}
cout<<rank[0]<<endl<<rank[1]<<endl<<rank[2]<<endl;




}

C++: #include<bits/stdc++.h>
using namespace std;
int main(){
  vector<int> high(10);
  for(int i=0;i<10;++i){
    scanf("%d",&high[i]);
  }
  sort(high.begin(),high.end(),greater<int>());
  printf("%d\n%d\n%d\n",high[0],high[1],high[2]);
  return 0;
}

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

int main(void){
	int m[10];

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

	return 0;
}

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<stdio.h>
using namespace std;

int main(){

	int str[10];
	int tmp = 0;
	int max[3]={0};

	for (int i = 0; i < 10; i++) {
		scanf("%d",&str[i]);
	}
	
	for(int j =0; j < 10; j++) {
		if( max[0] < str[j] ) {
			max[0] = str[j];
		}
	}
	for(int j =0; j < 10; j++) {
		if( max[1] < str[j] & str[j] != max[0]) {
			max[1] = str[j];
		}
	}
	for(int j =0; j < 10; j++) {
		if( max[2] < str[j] & str[j] != max[0] & str[j] != max[1]) {
			max[2] = str[j];
		}
	}
	
	printf("%d\n",max[0]);
	printf("%d\n",max[1]);
	printf("%d\n",max[2]);
	
}

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

using namespace std;

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

C++: #include<iostream>

using namespace std;

int main() {
	int a[100] = { 0 };
	for (int i = 0; i < 10; i++) {
		cin >> a[i];
	}
	int big1, big2, big3;
	big1 = a[0];
	big2 = big3 = 0;
	for (int k = 1; k < 10; k++) {
		if (a[k] > big1) {
			big3 = big2;
			big2 = big1;
			big1 = a[k];
		}
		else if (a[k] > big2) {
			big3 = big2;
			big2 = a[k];
		}
		else if (a[k] > big3) {
			big3 = a[k];
		}
	}
	cout << big1 << endl << big2 << endl << big3 << endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
 
int main() {
 int top[5]={0,0,0,0,0};
 int yama;
 
 cin >> top[0];
 
 for(int i=0; i<9; i++){
  cin >> yama;
 
  for(int j=0; j<3; j++){
   if(yama >top[j]){
    top[j+2] = top[j+1];
    top[j+1] = top[j];
    top[j] =yama;
    break;
   }
  }
  return 0;
 }
}

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

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

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

	return 0;
}

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

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

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


	

	do{
		j=0;
		for( i=0;i<10 - 1;i++ ){
			if( height[i] < height[i+1] ){
				int temp = height[i+1];
				height[i+1] = height[i];
				height[i] = temp;
				j++;
			}
		}
	}while(j!=0);
	
	for(i=0;i<3;i++){
		cout<<height[i]<<endl;
	}


}

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

template <typename T> void b_sort(T* a , int n){
	int i , j;
	for(i=n;i>=0;i--){
		for(j=0;j<n-1;j++){
			if(a[j]>a[j+1]){
				a[j]^=a[j+1];
				a[j+1]^=a[j];
				a[j]^=a[j+1];
			}
		}
	}	
} 

int main(){
	unsigned int m[10];
	for(int i=0;i<10;++i){
		cin >> m[i];
	}
	b_sort(m , 10);
	cout << m[9] << "\n" << m[8] << "\n" << m[7] << endl;
	return 0;
}

C++: #include<stdio.h>
int main(void)
{
int mount;
for(int f1=0;f1<10;f1++){
scanf("%d",&mount[f1]);
}
int mem;
for(int f1=0;f1<10;f1++){
for(int f2=0;f2<10;f2++){
if(mount[f1]>mount[f2]){
mem=mount[f1];
mount[f1]=mount[f2];
mount[f2]=mem;
}
}
}
for(int f1=0;f1<3;f1++){
printf("%d\n",mount[f1]);
}
return 0;
}

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

int main() {
    vector<int> mountain;
    for(int i = 0; i < 10; i++){
      cin >> mountain.at(i);
    }
    sort(mountain.begin(), mountain.end());
    reverse(moutain.begin(), moutain.endl());

    for (int i = 0; i < 3; i++) {
        cout << mountain.at(i) << endl;
    }
}

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

int main()
{
  int mt[10];
  int high[3];

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

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

  for(int i=0;i<10;i++)
    {
      if(mt[i]>high[2])
	{
	  high[2] = mt[i];
	}
      if(mt[i]>high[1])
	{
	  high[2] = high[1];
	  high[1] = mt[i];
	}
      if(mt[i]>high[0])
	{
	  high[2] = high[1];
	  high[1] = high[0];
	  high[0] = mt[i];
	}
    }

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

  return 0;
}

C++: #include <iostream>

int main()
{
    using namespace std;
        int max = 0;
        int second = 0;
        int third = 0;
    
    int n[10];
    
    for(int i = 0; i < 10; i++) cin >> n[i];
    sort(n,n+10,greater<int>());
    max = n[0];
    second = n[1];
    third  = n[2];
    cout << max << "\n" << second << "\n" << third << "\n";
    return 0;
}

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

using namespace std;


int main()
{unsigned int b[10];

for (int i=0;i<10;i++)
    {
      cin>>b[i];
      }
for (int j=0;j<10;j++)
    {
     for (int k=0;k<10-j;k++)
         {
          if (b[k]>b[k+1])swap(b[k],b[k+1]);
          }
        }

      cout<<b[10]<<endl;
      cout<<b[9]<<endl;
      cout<<b[8]<<endl;

    return 0;
}

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