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 <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) ? 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>
#include <sstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cstring>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <algorithm>
#include <functional>

using namespace std;

int main()
{
	int n;
	vector<int> nums;

	while ( cin >> n )
	{
		nums.push_back( n );
	}

	sort( nums.begin(), nums.end(), greater<int>() );
	
	for ( vector<int>::iterator it = nums.begin(); it != nums.end(); )
	{
		cout << *( it++ );

		if ( it != nums.end() )
		{
			cout << ' ';
		}
	}
	cout << endl;

	return 0;
}

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

int main(){
  int i,j,k;
  int n1=0,n2=0;
  int v[5];
  int temp;

  for(i=0;i<5;i++){
    cin>>v[i];
  }
  for(i=0;i<4;i++)
    for(j=0;j<4;j++)
      if(v[j+1] > v[j]){
      temp = v[j];
      v[j] = v[j+1];
      v[j+1] = temp;
      }

  for(i=0;i<4;i++){
    printf("%d ",v[i]);
	   }
      cout<<v[4]<<endl;

    return 0;
  }

C++: #include "bits/stdc++.h"
#pragma warning(disable:4996)
using namespace std;
using ld = long double;
const ld eps = 1e-9;

#include<unordered_map>


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

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

int main(){
	int num[5];
	int i,j,tmp;

	for(i = 0; i < 5; i++)
		cin >> num[i];

	for(i = 0; i < 5; i++){
		for(j = 5; j > i; j--){
			if(num[j] > num[i]){
				tmp = num[j];
				num[j]  = num[i];
				num[i] = tmp;
			}
		}
	}

	for(i = 0; i < 4; i++)
		cout << num[i] << ' ';
	cout << num [4] << endl;

	return 0;
}

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

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