Go: package main

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

var scanner = bufio.NewScanner(os.Stdin)

func nextString() string {
	scanner.Scan()
	return scanner.Text()
}

func nextInt() int {
	n, err := strconv.Atoi(nextString())
	if err != nil {
		fmt.Printf("strconv.Atoi failed: %v\n", err)
	}
	return n
}

func main() {
	scanner.Split(bufio.ScanWords)

	n := 5
	array := make([]int, n)
	for i := 0; i < n; i++ {
		array[i] = nextInt()
	}
	sort.Slice(array, func(i, j int) bool { return array[i] > array[j] })
	arrayStr := fmt.Sprint(array)
	l := len(arrayStr)
	fmt.Println(arrayStr[1:(l - 1)])
}

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

int main() {
	ios_base::sync_with_stdio( false );

	vector<int> a( 5 );
	for( auto& v: a ) { cin >> v; }

	sort( a.begin(), a.end(), greater<>() );

	for( int i = 0; i < a.size(); ++i ) {
		cout << a[i];

		if( i < a.size()-1 ) { cout << ' '; }
	}
	
	cout << endl;
}

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

using namespace std;

namespace sorting_five_numbers
{
    class SortingFiveNumbers
    {
    private:
        //! データサイズ
        static const int Size = 5;

        //! 入力値
        int dataList[Size];

    public:
        /**
        * @brief コンストラクタ
        */
        SortingFiveNumbers(int target[]) {
            memset(dataList, 0, Size);

            for (int i = 0; i < Size; i++) {
                dataList[i] = target[i];
            }
        }

        /**
        * @fn int* createDescendingList()
        * @brief 降順にソートしたリストを生成する
        * @return int* ソート済みリスト
        */
        int* createDescendingList();
    };

    class Control
    {
    private:
        //! データサイズ
        static const int Size = 5;

    public:
        /**
        * @fn bool executeEx()
        * @brief 5つの整数を読み込み、降順に整列し出力する
        * @return bool 入力値が範囲内ならtrueを、そうでなければfalseを返す
        */
        bool executeEx();

    private:
        /**
        * @fn void read(int target[])
        * @brief 標準入力から読み込む
        * @param[out] target 入力データ
        */
        void read(int target[]);

        /**
        * @fn void write(int target[])
        * @brief 標準出力に書き込む
        * @param[in] target 出力データ
        */
        void write(int target[]);

        /**
        * @fn bool check(int target[])
        * @brief 入力データが範囲内か調べる
        * @param[in] target 調査対象
        * @return bool 入力データが範囲内ならtrueを、そうでなければfalseを返す
        */
        bool check(int target[]);
    };
}

using namespace sorting_five_numbers;

int* SortingFiveNumbers::createDescendingList()
{
    for (int i = 0; i < Size - 1; i++) {
        int max = i;
        for (int j = i + 1; j < Size; j++) {
            if (dataList[max] < dataList[j]) {
                max = j;
            }
        }
        int t = dataList[i];
        dataList[i] = dataList[max];
        dataList[max] = t;
    }

    return dataList;
}

bool Control::executeEx()
{
    int input[Size] = { 0 };
    int* output = NULL;

    read(input);

    if (!check(input))
        return false;

    SortingFiveNumbers list(input);

    output = list.createDescendingList();

    write(output);

    return true;
}

void Control::read(int target[])
{
    for (int i = 0; i < Size; i++)
        cin >> target[i];
}

void Control::write(int target[])
{
    for (int i = 0; i < Size; i++) {
        (i != Size - 1) ? cout << target[i] << " " : cout << target[i] << endl;
    }
}

bool Control::check(int target[])
{
    static const int Min = -100000;
    static const int Max = 100000;

    for (int i = 0; i < Size; i++) {
        if (Min > target[i] || Max < target[i])
            return false;
    }

    return true;
}

int main()
{
    if (!Control().executeEx())
        return 1;
}

C++: #include<iostream>

using namespace std;

// バブルソートで使うスワップ
// ループの中に書きたくなかったので関数化。
void swap(int& l, int &r) {
	int temp = l;
	l = r;
	r = temp;
}

int main() {
	int temp[5];
	for (int& a : temp) {
		cin >> a;
	}
	// 数が少ないのでバブルソートを実装してみる
	for (int i = 0; i < 4; ++i) {
		for (int j = 1; j < 5; ++j) {
			if (temp[j - 1] > temp[j]) {
				swap(temp[j - 1], temp[j]);
			}
		}
	}

	for (int i = 0; i < 5; ++i) {
		cout << temp[i];
		if (i != 4) {
			cout << " ";
		}
		else {
			cout << endl;
		}
	}

	return 0;
}

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

int main(){
  vector<int> a(5);
  for (int i = 0; i < 5; i++) {
    cin >> a.at(i);
  }
  sort(a.begin(), a.end(), greater<int>());
  for (int i = 0; i < 5; i++) {
    if (i == 4)
    cout << a.at(i) << endl;
    else
    cout << a.at(i) << " ";
  }
}

C++: /*AOJ 0018*/

#include<iostream>
using namespace std;

#define N 5

void Swap(int *a,int *b){
	int tmp = *a;
	*a = *b;
	*b = tmp;
}

void BabbleSort(int *a){
	for(int i=0;i<N;i++){
		for(int j=N-1;j>i;j--){
			if(a[j] >= a[j-1]){
				Swap(&a[j],&a[j-1]);
			}
		}
	}
}


int main(){

	int a[N];

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

	BabbleSort(a);

	for(int i=0;i<N-1;i++){
		printf("%d ",a[i]);
	}
	printf("%d\n",a[4]);
	return 0;
}

C++: #include <iostream>
#include <algorithm>
using namespace std;
int main(void) {
  int a[5];
  for(int i=0;i<5;i++)cin>>a[i];
  sort(a, a+5);
  cout<<a[4];
  for(int n=4;n--;)cout<<" "<<a[n];
  cout<<endl;
  return 0;
}

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

int main() {
	ios :: sync_with_stdio(false);
	int a[5];
	for(int i = 0; i < 5; i ++)
		cin >> a[i];
	sort(a, a + 5, greater<int>());
	for(int i = 0; i < 5; i ++)
		cout << a[i] << ' ';
	cout << '\n';
	return 0;
}

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

int main()
{
	int array[5];

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

	sort(array, array + 5);

	for (int i = 4; i >= 0; i--){
		if (i == 0){
			cout << array[0] << endl;
		}
		else {
			cout << array[i] << " ";
		}
	}

	return (0);
}

C++: //
//  main.cpp
//  algorithm-practice1
//
//  Created by g-2018 on 2017/04/28.
//  Copyright ?? 2017??´ 3431. All rights reserved.
//

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
  //****??´??????
  //**** int a????????£?¨?
  int a[5];
  for(int i=0;i<5;i++){
    cin >> a[i];
    }
  //?????????
  sort(a,a+5);
  
  for(int i=4; i >= 0; i--){
    if( i != 4 ){
      cout << " ";
        }
    //**** ????????????
    cout << a[i];
  }
  cout << endl;
}

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

int main(){
	int data[5];
	cin>>data[0]>>data[1]>>data[2]>>data[3]>>data[4];
	sort( data, data+5, greater<int>() );
	for( int i=0;i<5;i++ ){
		cout<<data[i]<<" ";
	}
	cout<<endl;
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int n[5];
	int tmp;
	for(int i = 0; i<5; ++i) cin >> n[i];	
	for(int i = 0; i<5; ++i) {
		for(int j = i+1; j < 5; ++j) {
			if(n[i] < n[j]){
				tmp = n[i];
				n[i] = n[j];
				n[j] = tmp;
			}
		}
	}
	for(int i = 0; i<5; ++i) cout << n[i] << " ";
    return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
    int arr[5+2];
   for(int i=0;i<5;i++)
    scanf("%d",&arr[i]);
   sort(arr,arr+5);
   for(int i=4;i>=1;i--)
    cout<<arr[i]<<" ";
    cout<<arr[0]<<endl;
    return 0;
}

C++: #include<iostream>
#include<algorithm>
#include<functional>
using namespace std;
int main(){
	int a[5];
	for(int i=0;i<5;i++) cin>>a[i];
	sort(a,a+5,greater<int>());
	for(int i=0;i<5;i++) cout<<a[i];
}

C++: #include<stdio.h>
#define n 5

int main(void)
{
	int a[n],i,j,t;

	for(i=0;i<n;i++)
	  scanf("%d",&a[i]);

	for( i = 1; i < n; ++i )//a[0]はソート済みだから１から始める
	{
		t = a[i];//ソート済みの部分の次で挿入する数値。
		for( j = i; j > 0 && a[j-1] < t; --j )//ソート済み部分を見る。
		{//探索しつつa[j]を一つづつ下げる。終了条件はj=0かa[j-1]が挿入部分よりも小さいならば
			a[j] = a[j-1];
		}
		a[j] = t;//挿入
	}
	printf("%d",a[0]);
	for(i=1;i<n;i++)
		printf(" %d",a[i]);
	printf("\n");
  return 0;
}