Hola, bueno te voy a dar una mano, al menos los pasos para poder realizar tu programa.
Lo que necesitás es simple, por lo menos para que te pidan en una universidad, bueno ahí vamos:
1° ¿Porqué vos pusiste manualmente los números?, eso lo deberías hacer de una forma aleatoria, es decir que el mismo programa guarde en una variable X números aleatorios, porque el secreto de esto, es que vos no sepás cuáles números son.
2° ¿Porqué usás la función Sort? El truco es ordenar los números uno mismo y no usar las funciones del programa.
3° ¿Porqué usas esta instrucción:
Console.WriteLine();
? ¿Deseas ingresar un salto de línea? Bueno para eso no es necesario una instrucción, simplemente usas el método de salto de línea, por ejemplo:
Console.WriteLine("El numero mayor es: " + listaNumeros[0] + "\n");
4° ¿Porqué usás la función Reverse?, aahhh ya sé, porque vos estás invirtiendo la variable para que en vez de mostrarte el primer número, te muestro el último, pero eso está mal hecho, ya que vos como dije no debés saber en que posiciones están los números, así que lo reverse no deberías usarlo.
5° Para saber cuál es el número mayor de la lista de números, simplemente debés crear una variable de tipo int con el valor de 1 y luego con un bucle for vas comparando que el número siguiente sea mayor que 1, en caso afirmativo, se sobreescribe la variable Int por el nuevo valor que es mayor a 1, por ejemplo supongamos que sea 33, entónces se sigue la comparación hasta buscar un número mayor a 33, y si lo hay, entónces se vuelve a sobreescribir la variable Int por el nuevo valor.
6° Para poder saber cuál es el número menor, simplemente creas otra variable de tipo int y tomás como valor el primer número de la lista de números, que en este caso, es el 3 y empezás la comparación hasta encontrar otro número que sea menor que 3, como en el código que pusiste no existe un número menor que 3, entónces 3 es el menor, así de simple.
7° Bueno para ordenar la lista de mayor a menor, podés usar un bucle infinito ya sea while o for, y empezás la comprobación hasta encontrar el segundo número que sea mayor o igual que todos, en este caso vos ya tenés el número máximo, entónces, seguís buscando el siguiente, que sería el segundo número mayor, osea recorres toda la lista hasta que termine y vas guardando en un variable de tipo Int los valores que sean mayor que otro, cuando lo obtengas, osea cuando obtengas el número, entónces eliminás ese número de esa posición en donde estaba situado, porque puede repetirse, y luego cuado se termine de recorrer toda la variable que contiene los números, entónces, volvés otra vez a hacer otro bucle, esto lo podés hacer de forma recursiva y bueno vas eliminando los números de la lista hasta que la misma quede vacía, cuando ese paso, el programa imprimirá en la consola los números de mayor a menor.
Un consejo amigo, si vos vas guardando en una variable tipo String o Int por ejemplo los números de esta forma (horizontal) y por la consola se muestran tan cuál:
4535 345 233 123 34 33 23 22 22 11 6 5 4 3 3
podés optar simplemente por ir mostrándolos a medida que lo vas agregando en el bucle y dejando un salto de línea, pero también podrías usar una función como replace o algo similar que reemplace los chr(32) que son los espacios, por saltos de línea, entónces quedaría así:
4535
345
233
123
34
33
23
22
22
11
6
5
4
3
3
Por supuesto que podés siempre hacer algo similar, pero mientras que te funcione y que sea algo realmente elaborado por vos, es decir no usar funciones que ordenan los números, todo te saldrá bien, es la primera vez que veo C# y ya algo casi nada he echo, bueno está bien para mi primera vez jajaja.
Disculpame que no dejo código porque realmente no se nada de C#, al menos esta clara idea te va a servir.
Buena suerte con el programa compañero!!
Saludos!!