Ejercicio 02 — Lee dos enteros e imprime el mayor
Dificultad: verde · Módulo 02 (Condicionales)
Enunciado
Lee dos enteros e imprime el mayor; si son iguales, indicalo.
Diagrama de flujo

Cómo se resuelve
Tres resultados posibles (a mayor, b mayor, o iguales) se resuelven con una cadena if / else if / else, que garantiza que se ejecute exactamente una rama.
- Se leen los dos enteros de una vez con
scanf("%d %d", &a, &b)(dos%dseparados por espacio; ambos con&). if (a > b)cubre el primer caso;else if (b > a)el segundo.- El
elsefinal no necesita condición: si las dos comparaciones anteriores fallaron, es que no esa > bnib > a, así que forzosamentea == b. El caso “son iguales” te lo regala la lógica, sin escribirlo.
La trampa habitual es usar tres if sueltos e independientes en vez de encadenarlos con else if: así C evalúa siempre las tres condiciones, y es fácil imprimir dos mensajes o dejar el caso de iguales sin cubrir. La cadena if/else if/else es excluyente por construcción: en cuanto una rama entra, el resto se ignora.
Para practicar — cópialo en Dev-C++
Pega este esqueleto y completa los TODO. Es la mejor forma de aprender: inténtalo antes de mirar la solución.
/*
Curso de C — Modulo 02: Condicionales
Ejercicio 02 — PRACTICA (rellena los TODO)
Enunciado: Lee dos enteros e imprime el mayor; si son iguales, indicalo.
Dificultad: verde
Compilar: gcc -std=c11 -Wall ej02_practica.c -o ej02 && ./ej02
*/
#include <stdio.h>
int main(void) {
int a, b;
// TODO: pide al usuario dos enteros
// TODO: leerlos con scanf en una sola llamada: scanf("%d %d", &a, &b)
// TODO: usa if / else if / else con tres ramas:
// rama 1 (a > b): "El mayor es <a>"
// rama 2 (b > a): "El mayor es <b>"
// rama 3 (iguales): "Son iguales"
return 0;
}Solución — cópiala y ejecútala
/*
Curso de C — Modulo 02: Condicionales
Ejercicio 02 — MODELO (resuelto)
Enunciado: Lee dos enteros e imprime el mayor; si son iguales, indicalo.
Dificultad: verde
Compilar: gcc -std=c11 -Wall ej02_modelo.c -o ej02 && ./ej02
*/
#include <stdio.h>
int main(void) {
int a, b;
printf("Introduce dos enteros: ");
scanf("%d %d", &a, &b);
if (a > b) {
printf("El mayor es %d\n", a);
} else if (b > a) {
printf("El mayor es %d\n", b);
} else {
// a == b: ambas condiciones anteriores fallaron
printf("Son iguales\n");
}
return 0;
}Cómo usarlo
Dev-C++ (Windows): Archivo → Nuevo → Código fuente, pega el código y pulsa F11 (compilar y ejecutar). Si ves los acentos raros en la consola, escribe chcp 65001 y vuelve a ejecutar.