Go: package main

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

var (
	n  = 10
	sc = bufio.NewScanner(os.Stdin)
)

func main() {
	heights := make([]int, n, n)
	for i := 0; i < n; i++ {
		sc.Scan()
		heights[i], _ = strconv.Atoi(sc.Text())
	}
	sort.Sort(sort.Reverse(sort.IntSlice(heights)))

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

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

int main(void)
{
    int a;
    int b[3];
    for (int i = 0; i < 10; i++)
    {
        cin >> a;
        if(a>=b[0])
        {
            b[2] = b[1];
            b[1] = b[0];
            b[0] = a;
        }
        else if(a>=b[1])
        {
            b[2] = b[1];
            b[1] = a;
        }
        else if(a>=b[2])
        {
            b[2] = a;
        }

    }

    for (int i = 0; i < 3; i++)
    {
        cout << b[i] << "\n";
    }
}

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

using namespace std;

int main(void){
	set<int, greater<int> > nums;
	for (int i=0; i<10; ++i){
		int num;
		cin >> num;
		nums.insert(num);

	}
	set<int, greater<int> >::iterator it = nums.begin();
        int n=0;
	while ((it != nums.end()) && (n<3)){
		cout << *it << "\n";
		++it;
                ++n;
	}

	return 0;
}

C++: #include<iostream>
 using namespace std;
int main(){
	int input[10];
	int first;
	int second;
	int third;
	int not1;
	int not2;
	for(int i;i<10;i++){
		cin>>input[i];
	}
	for(int i;i<10;i++){
	if(input[i]>first){
	first = input[i];
	not1 = i;
	}
	}
	for(int i;i<10;i++){
	if(input[i]>second&&i!=not1){
	second = input[i];
	not2 = i;
	}
	}
	for(int i;i<10;i++){
	if(input[i]>first&&i!=not2&&i!=not1){
	third = input[i];
	}
	}
	cout<<first<<endl;cout<<second<<endl;cout<<third<<endl;
	return 0;

}

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

template<typename T>
int array_max(T array[],int n)
{
	int max;
	max=0;
	for(int i=1;i<n;i++)
	{
		if(array[i]>array[max]) max=i;
		
	}
	return max;
}

int main(){
	int mount[10];
	for(int i=0;i<10;i++){
		cin >> mount[i];
	}
	for(int i=0;i<3;i++)
	{
		int max=array_max(mount,10-i);
		int t;
		cout << mount[max] << endl;
		swap(mount[max],mount[10-i]);
	}
   return 0;
}

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

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

	sort(h.begin(),h.end());

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

	return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
	int i,moun,high[10000],j=0;
	for(i=0;i<10000;i++)
	{
		high[i] = 0;
	}
	for(i=0;i<10;i++)
	{
		cin >> moun;
		high[moun] = 1;
	}
	for(i=9999;i>0;i--)
	{
		if(high[i] == 1)
		{
			cout << i << endl;
			j++;
		}
		if(j == 3)
		{
			break;
		}
	}
	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;int a[15],*b=a;main(){while(cin>>*b++);sort(a,b);while(b>a+8)cout<<*--b<<endl;}

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

int main() {
	int l[20];
	for (int i = 0; i < 10; i++)
		cin >> l[i];
	sort(l, l+10);
	cout << l[9] << endl << l[8] << endl << l[7] << endl;
	char c;
	cin >> c;
}

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

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

int main()
{
    int height;
    vector<int> top3;

    while (cin >> height) {
        for (auto it = top3.begin(); it != top3.end(); it++) {
            if (height > *it) {
                it = top3.insert(it, height);
                break;
            }
        }
        if (top3.size() > 3)
            top3.pop_back();
        else if (top3.size() < 3)
            top3.push_back(height);
    }
    
    for (auto h: top3)
        cout << h << endl;

    return 0;
}

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

int Size = 10;

int main(void) {
    int height[Size];
    
    for(int i = 0; i < Size; ++i) {
        while(true) {
            cout << "No." << i + 1 << " : " << flush;
            cin >> height[i];
            if(height[i] > 0) {
                break;
            }
        }
    }
    sort(height, height + Size);
    
    cout << height[9] << endl
         << height[8] << endl
         << height[7] << endl;
}

C++: #include<iostream>
using namespace std;
int main() 
{
    int i=0; 
	int num[10]; 
	for(;i<10;i++)
	cin>>num[i]; 
	int temp=0,temp1=0,j=0,k=0; 
	for(;j<3;j++)
	 { 
	  for(i=0;i<10;i++) 
	   { 
	    temp1=temp; 
	    temp=temp<num[i]?
	    num[i]:temp;
		if(temp>temp1) 
		k=i; 
		} 
		cout<<num[k]<<endl; 
		temp=0; 
		num[k]=0; 
	 } 
	 return 0;
}

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

int main()
{
	int i, j, a[10];
	for(i=0;i<10;i++){
		scanf("%d", &a[i]);
	}
	sort(a,a+10);
	for(j=0;j<3;j++){
		printf("%d\n", a[9-j]);
	}
}

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+10);
	cout<<a[7]<<endl<<a[8]<<endl<<a[9]<<endl;
	
	return 0;
}

C++: #include <stdio.h>

int main()
{
	int vc[10];
	int i;
	int max=0,sec=0,thi=0;

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

	printf("\n");
	for(i=0;i<10;i++){
		if(max <= vc[i])
			max = vc[i];
	}

	for(i=0;i<10;i++){
		if(sec <= vc[i] && vc[i] < max)
			sec = vc[i];
	}

	for(i=0;i<10;i++){
		if(thi <= vc[i] && vc[i] < sec)
			thi = vc[i];
	}

	printf("%d\n%d\n%d\n",max,sec,thi);

	return 0;
}

C++: //http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0001&lang=jp
#include <iostream>
#include <string>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>

using namespace std;


int main(){
	int n = 10;
	int a[n];
	for(int i=0; i<n; i++){
		cin >> a[i];
	}
	sort(a, a+n);
	printf("%d\n", a[9]);
	printf("%d\n", a[8]);
	printf("%d\n", a[7]);


	return 0;

}

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

int main()
{
	int iHigh[10];

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

	sort( iHigh,iHigh+9,greater <int>() );

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

	return 0;
}

C++: #include <iostream>
#include <math.h>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int kaijo(int n){
	int ans = 1;
	if (n != 0){
		for (int i = 0; i < n; i++){
			ans *= (n - i);
		}
	}
	else{
		ans = 1;
	}
	return ans;
}

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

	for (int i = 0; i < 10; i++){
		cin >> a[i];
	}
	for (int i = 0; i < 10; i++){
		if (max1<a[i]){
			max1 = a[i];
		}
		
	}
	cout << max1 << endl;

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

	}
	cout << max2 << endl;

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

	}
	cout << max3 << endl;
	return 0;
}

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

int a[10];

int main()
{
    for(int i=0;i<10;i++)
    {
        cin>>a[i];
    }
    sort(a, a+10);
    cout<<a[9]<<endl<<a[8]<<endl <<a[7]<<endl;

    return (0);
}

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

main()
{ int x[10],t[3];
  int  s=0;
  for(int i=0;i<10;i++){
    cin>>x[i];
  }

  for(int k=0;k<3;k++){
    for(int j=0;j<10;j++){
      if(t[k]<x[j]){
        s=t[k];
        t[k]=x[j];
        x[j]=s;
      }
    }
  }
for(int e=0;e<3;e++){
    cout<<t[e]<<endl;
  }
return 0;
}