Si en el anterior ejercicio realizabamos una practica para averiguar cual de los números introducidos por teclado era el mayor, ahora vamos a añadirle la funcionalidad para saber cual es el menor, por lo tanto el resultado del programa debe de decir cual es el número mayor y menos que hemos introducido por teclado. Esta practica nos permitira seguir refrescando ideas de como utilizar las condiciones y los bucles en un programa hecho en C.
1 #include <stdio.h>
2
3 void main() {
4 int num, mayor=0,menor,contador=1;
5
6 printf("\nPara salir introduzca un número negativo o bien 5 números.\n");
7 do {
8 printf("Introduce un numero: ");
9 scanf("%d",&num);
10 if (num > mayor)
11 mayor=num;
12 if ((num >= 0) && ((num < menor) || (contador == 1)))
13 menor=num;
14 contador++;
15 } while ((contador <= 5) && (num >= 0));
16
17 printf("El número mayor es: %d\n", mayor);
18 printf("El número menor es: %d\n", menor);
19 }
Descargar: CÓDIGO EN C
Viendo el ejemplo anterior y el que había puesto ya anteriormente en el de «Número mayor en C», podemos deducir porque razón hemos añadido en las líneas 12 y 13 dicha condición, en este caso buscamos averiguar cual de los números que hemos introducido es el menor, y esa condición lo hace. La razón por la cual puse en la condición que si contador == 1 entrara, es para forzar que el primer número que se introduzca se defina en la variable menor, ya que sino no podríamos nunca comparar la condición de «num < menor», ya que la variable «menor» no contendría ningún valor y no entraría a la condición nunca.
Seguro que existen modos más ortodoxos para realizar lo que he hecho yo aquí, yo lo hice así porque me vino a la cabeza este modo, si alguien tiene otra forma de realizar lo mismo con otras líneas, ponerlo en comentario o enviármelo en privado.