Ejercicio 03 — Lee un entero e indica si es positivo, negativo o cero
Dificultad: verde · Módulo 02 (Condicionales)
Enunciado
Lee un entero e indica si es positivo, negativo o cero.
Diagrama de flujo

Cómo se resuelve
El programa lee un entero y lo clasifica en tres categorías mutuamente excluyentes: positivo, negativo o cero. Es el ejemplo de libro para la estructura if / else if / else.
scanf("%d", &n)lee el número (recuerda el&).if (n > 0)atrapa los positivos;else if (n < 0)los negativos. Elelsefinal no lleva condición porque, si un número no es mayor ni menor que cero, solo puede ser exactamente cero.
La idea importante es el orden y la exclusión: las ramas se prueban de arriba abajo y en cuanto una es verdadera, las demás se ignoran. Eso hace innecesario (y sería redundante) escribir else if (n == 0) en la última rama.
Trampa habitual: tratar el cero como si fuera un positivo. Si comprobaras solo if (n >= 0) para “positivo”, el cero se colaría ahí y nunca imprimirías “Es cero”. Al usar n > 0 estricto y dejar el cero al else, cada valor cae en una única categoría.
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 03 — PRACTICA (rellena los TODO)
Enunciado: Lee un entero e indica si es positivo, negativo o cero.
Dificultad: verde
Compilar: gcc -std=c11 -Wall ej03_practica.c -o ej03 && ./ej03
*/
#include <stdio.h>
int main(void) {
int n;
// TODO: pide el entero al usuario y leelo con scanf
// TODO: escribe un if / else if / else con tres ramas:
// n > 0 -> "Es positivo"
// n < 0 -> "Es negativo"
// resto -> "Es cero"
return 0;
}Solución — cópiala y ejecútala
/*
Curso de C — Modulo 02: Condicionales
Ejercicio 03 — MODELO (resuelto)
Enunciado: Lee un entero e indica si es positivo, negativo o cero.
Dificultad: verde
Compilar: gcc -std=c11 -Wall ej03_modelo.c -o ej03 && ./ej03
*/
#include <stdio.h>
int main(void) {
int n;
printf("Introduce un entero: ");
scanf("%d", &n);
// Tres casos mutuamente excluyentes: usamos if-else if-else.
if (n > 0) {
printf("Es positivo\n");
} else if (n < 0) {
printf("Es negativo\n");
} else {
// Solo queda n == 0
printf("Es cero\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.