Ejercicio 01 — Leer N y mostrar los numeros del 1 al N, uno por linea

Dificultad: verde · Módulo 03 (Bucles)

Enunciado

Leer N y mostrar los numeros del 1 al N, uno por linea.

Diagrama de flujo

Diagrama de flujo del ejercicio 01

Cómo se resuelve

Este es el ejercicio más básico de un bucle: pedir un número N y escribir en pantalla 1, 2, 3, ... N, cada uno en su línea. Es el primer paso para entender que un bucle nos ahorra escribir la misma instrucción una y otra vez.

  1. scanf("%d", &n) lee el número. Fíjate en el & delante de n: al leer un entero, scanf necesita la dirección de la variable para guardar ahí lo que teclees.
  2. El for reúne las tres piezas de todo contador en una sola línea: int i = 1 (arranque), i <= n (condición para seguir) e i++ (avanzar). Se lee como “empieza en 1, repite mientras i sea menor o igual que n, y suma 1 en cada vuelta”.
  3. Dentro del cuerpo, printf("%d\n", i) imprime el valor actual de i seguido de un salto de línea, de modo que cada número cae en su propia fila.

La trampa habitual está en la condición: usar i < n en lugar de i <= n. Con i < n el bucle se detiene una vuelta antes y nunca imprime el propio N. Cuando quieras incluir el último valor, la condición lleva <=. El otro error clásico de todo principiante es olvidar el i++: sin él, i se queda en 1 para siempre y el programa se cuelga en un bucle infinito.

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 03: Bucles
 * Ejercicio 01 — PRACTICA (rellena los TODO)
 * Enunciado: Leer N y mostrar los numeros del 1 al N, uno por linea.
 * Dificultad: verde
 * Compilar: gcc -std=c11 -Wall ej01_practica.c -o ej01 && ./ej01
 */
 
#include <stdio.h>
 
int main(void) {
    int n;
 
    // TODO 1: Pide al usuario que introduzca N con printf
    // TODO 2: Lee el valor de N con scanf (recuerda el &)
 
    // TODO 3: Crea un bucle for que vaya de i=1 hasta i<=n
    //         En cada iteracion, imprime i seguido de un salto de linea
 
    return 0;
}

Solución — cópiala y ejecútala

/*
 * Curso de C — Modulo 03: Bucles
 * Ejercicio 01 — MODELO (resuelto)
 * Enunciado: Leer N y mostrar los numeros del 1 al N, uno por linea.
 * Dificultad: verde
 * Compilar: gcc -std=c11 -Wall ej01_modelo.c -o ej01 && ./ej01
 */
 
#include <stdio.h>
 
int main(void) {
    int n;
    printf("Introduce N: ");
    scanf("%d", &n);
 
    // Recorremos desde 1 hasta n inclusive
    for (int i = 1; i <= n; i++) {
        printf("%d\n", i);
    }
 
    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.

Conexiones