Es un problema parecido a uno q hice hace mucho tiempo como ya lo dijo juan debes usar un arreglo y si la serie es hasta q se ingrese un cero, debe ser una entrada controlada por un valor centinela (cero = valor centinela) algo como esto:
int var [ ] // arreglo q contendra los valores ingresados
Inicio_Algoritmo
int i = 0, c //cont de ingresos
double num
Leer( num )
si (num <> 0 ) entonces
{
Mientras( num <> 0 )
var[ i ] = num
c = i++
Leer( num )
Fin_mientras
//aca finaliza la entrada controlada por centinela
//hay varias formas de ordenar un arreglo la mas conocida es la de la burbuja
double aux
int a
bool s = true //permutacion de valores
Mientras( s && (--i > 0))
s = false
desde a = 1;Hasta a <= i; incre a++
Si ( var[ a-1 ] > var[ a ] ) entonces
aux = var[ a-1 ] //aca se permutan valores
var[ a-1 ]= var [ a ]
var[ a ] = aux
s = true
Fin_si
Fin_desde
Fin_mientras //hasta aca se ordenaron todos
desde a = 0; hasta a < c; incre a++
Escribir( var[ a ] + ' \n ' ) //mostramos los datos
Fin_desde
}
sino
Escribir("Ningun dato ingresado")
Fin_si
Fin_Algoritmo
Bueno espero no haberme equivocado ya q no estoy en mi máquina por ende no lo probé en tal caso alguien ya lo corregirá....SALUDOS