Ok, el algoritmo es para encontrar el mayor de una lista; esa lista la puedes poner manualmente (como hice yo) o puedes preguntar al usuario cada valor (como hiciste tu).
Para preguntar al usuario ya lo tienes resuelto, pero tambien puedes hacerlo con un ciclo. Y ademas puedes incrementar la rapidez del calculo planteando la premisa inicial de que el valor mas grande es uno muy pequeño, luego cada vez que preguntas al usuario comparas y siempre tienes el mayor de los entrados en la lista. Algo asi:
Código C:
Ver original#define TAMLISTA 10
static char *ORDINARIOS[TAMLISTA] = {
"primero", "segundo", "tercero",
"cuarto", "quinto", "sexto", "septimo",
"octavo", "noveno", "decimo"};
int main() {
int q, lista[TAMLISTA];
int num_mayor = INT_MIN;
for(q = 0; q < TAMLISTA; q++) {
printf("Entra el %s: ", ORDINARIOS
[q
]); if(lista[q] > num_mayor) {
num_mayor = lista[q];
printf("Ahora el mayor es el %d\n", num_mayor
); }
}
printf("Finalmente el mayor es %d", num_mayor
);
return 0;
}
De esta forma tal como vas entrando valores ya vas obteniendo el mayor. El INT_MIN está en la cabecera limits.h, y es el valor minimo al que puede llegar un int.
Lo de antes del sizeof no te preocupes, solo es para saber el nº de elementos sabiendo el tamaño de la lista y el tipo de dato, de esta forma si cambias el tamaño de la lista el ciclo sigue funcionando sin tocar nada; es una buena practica evitar los valores picados a mano hardcoded, es mejor usar defines para datos que vas a usar mas de una vez, de esta forma si tienes que cambiar algo solo cambias el define y te olvidas de buscar por dentro del codigo.
Saludos
vosk