Go: package main

import "fmt"

func main() {
	var height int
	topHeights := [5]int{}

	for i := 0; i < 10; i++ {
		fmt.Scan(&height)

		for j := 0; j < 3; j++ {
			if topHeights[j] < height {
				topHeights[j+2] = topHeights[j+1]
				topHeights[j+1] = topHeights[j]
				topHeights[j] = height
				break
			}
		}
	}

	for i := 0; i < 3; i++ {
		fmt.Println(topHeights[i])
	}
}

C++: #include<iostream>

using namespace std;

//??\?????????
void swap(int *a, int *b){
	int temp = *a;
	*a = *b;
	*b = temp;
}

int main(){
	int str,mt[10];
	int i;
	
	for(i=0;i<10;i++){
		do{
			cin >> str;
		}while(0>str||str>10000);
		mt[i]=str;
	}
	
	// ????????????
	int num = 1;
	while(num<=3){
		str = mt[num-1];
		for(i=num;i<=10;i++){
			if(str<mt[i]){
				str = mt[i];
				swap(mt[num-1],mt[i]);
			}
		}
		cout << mt[num-1] << "\n";
		num++;
	}
	
	return 0;
}

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

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

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

void swap(int* x, int* y){
	int tmp = *x;
	*x = *y;
	*y = tmp;
}

int main(){
	int input = 0, a = 0, b = 0, c = 0;
	for(int i = 0; i <= 10; i++){
		cin >> input;
		if(c < input){
			swap(&c, &input);
		}
		if(b < c){
			swap(&b, &c);
		}
		if(a < b){
			swap(&a, &b);
		}
		if(a < c){
			swap(&a, &c);
		}
	}
	cout << a << endl;
	cout << b << endl;
	cout << c << endl;
	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;
using uint = unsigned int;
using lint = long long int;
using ulint = unsigned long long int;
template<class T = int> using V = vector<T>;
template<class T = int> using VV = V< V<T> >;
template<class T, class U> void assign(V<T>& v, int n, const U& a) { v.assign(n, a); }
template<class T, class... Args> void assign(V<T>& v, int n, const Args&... args) { v.resize(n); for (auto&& e : v) assign(e, args...); }


int main() {
  cin.tie(nullptr); ios_base::sync_with_stdio(false);
  string str;
  V<> a;
  while (getline(cin, str)) {
    a.push_back(stoi(str));
  }
  sort(rbegin(a), rend(a));
  for (int i = 0; i < 3; ++i) {
    cout << a[i] << '\n';
  }
}

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

using namespace std;

int main(void){
	vector<int> height ;
	string s ;
	while(cin >> s){
		height.push_back(atoi(s.c_str()));
		
	}
	sort(height.begin(),height.end(),greater<int>());
	
	for(int i=0;i<3;i++){
		cout <<height[i]<<endl ;
	}
	
	return 0 ;
}

C++: import sys
a = []
s = sys.stdin.readline()
while s :
	a.append(int(s))
	s = sys.stdin.readline()

a.sort()
a.reverse()
for i in range(3) :
	print(a[i]);

C++: #include <iostream>
#include <algorithm>
using namespace std;
    
int main(){
	int data,m[10];

	while(cin >> data)
	{
		for (int j=0;j<=9;j++){
			
			if (data<=10000 && data >= 0) 
			m[j]=data;
		}
	}

for (int j=0;j<=9;j++){
for (int i=0;i<=9;i++){

	if (m[i] <= m[i+1])
		std::swap(m[i],m[i+1]);

}
}
 
for (int i=0;i<=9;i++){
cout <<  m[i] <<'\n';
}

    return 0;
}

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

int num[10];
int main(int argc, const char * argv[])
{
    int i;
    while (scanf("%d",&num[0])!=EOF)
    {
        for (i=1; i<=9; ++i)
        {
            scanf("%d",&num[i]);
        }
        sort(num, num+10);
        printf("%d\n%d\n%d\n",num[9],num[8],num[7]);
    }
    return 0;
}

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

int main( int argc, char **argv ) {

  int h[10] = {0};
  int i;
  int j;
  int temp;
  
  for (i = 0; i < 10; ++i) {
    scanf("%d", &h[i]);
  }
  
  for (i = 0; i < 9; ++i) {
    for (j = i + 1; j < 10; ++j) {
      if (h[i] < h[j]) {
        temp = h[i];
        h[i] = h[j];
        h[j] = temp;
      }
    }
  }

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

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

int main(int argc, char *argv[]){
	int max[3]={0,0,0};
	int tmp;
    for (int i=0; i < 10; ++i){
		cin >> tmp;
		if(max[0]<tmp ){
			max[2]=max[1]; max[1]=max[0]; max[0]=tmp; 
		}
		else if(max[1]<tmp ){
			max[2]=max[1]; max[1]=tmp; 
		}
		else if(max[2]<tmp ){
			max[2]=tmp; 
		}
	}

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

    return 0;
}

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;
}