Ejercicio 04 — Leer un numero y mostrar su tabla de multiplicar del 1 al 10
Dificultad: amarillo · Módulo 03 (Bucles)
Enunciado
Leer un numero y mostrar su tabla de multiplicar del 1 al 10.
Diagrama de flujo

Cómo se resuelve
Este programa pide un número y muestra su tabla de multiplicar, de num x 1 hasta num x 10. El bucle es un for sencillo con un límite fijo: aquí no dependemos de lo que teclee el usuario para saber cuántas vueltas dar, siempre son 10.
- Leemos
numy mostramos un encabezado conprintf. - El
forrecorreide 1 a 10. En cada vuelta imprimimos una línea completa:printf("%d x %2d = %3d\n", num, i, num * i). El cálculonum * ise hace sobre la marcha dentro del propioprintf. - La novedad está en los formatos
%2dy%3d. El número entre el%y ladreserva un ancho mínimo de columna:%2docupa al menos 2 caracteres y%3dal menos 3, rellenando con espacios por la izquierda. Gracias a eso las columnas quedan alineadas aunque los resultados tengan distinto número de cifras (por ejemplo3 x 3 = 9frente a3 x 10 = 30).
La trampa de este ejercicio no es la lógica del bucle, que ya conoces, sino el formateo de la salida. Si usas %d a secas, el programa funciona igual de bien pero la tabla sale desalineada y fea, con los números “bailando” según su tamaño. Aprender a alinear con %2d / %3d es lo que convierte una salida correcta en una salida legible.
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 04 — PRACTICA (rellena los TODO)
* Enunciado: Leer un numero y mostrar su tabla de multiplicar del 1 al 10.
* Dificultad: amarillo
* Compilar: gcc -std=c11 -Wall ej04_practica.c -o ej04 && ./ej04
*/
#include <stdio.h>
int main(void) {
int num;
// TODO 1: Pide al usuario el numero y leelo con scanf
// TODO 2: Imprime un encabezado: "--- Tabla del X ---"
// TODO 3: Bucle for de i=1 a i<=10
// Imprime cada linea: "num x i = resultado"
// Consejo: prueba con %2d para i y %3d para el resultado
// y observa como queda alineado
return 0;
}Solución — cópiala y ejecútala
/*
* Curso de C — Modulo 03: Bucles
* Ejercicio 04 — MODELO (resuelto)
* Enunciado: Leer un numero y mostrar su tabla de multiplicar del 1 al 10.
* Dificultad: amarillo
* Compilar: gcc -std=c11 -Wall ej04_modelo.c -o ej04 && ./ej04
*/
#include <stdio.h>
int main(void) {
int num;
printf("Introduce un numero para su tabla: ");
scanf("%d", &num);
printf("\n--- Tabla del %d ---\n", num);
for (int i = 1; i <= 10; i++) {
printf("%d x %2d = %3d\n", num, i, num * i);
// %2d: campo de ancho 2 para el multiplicador (alineacion)
// %3d: campo de ancho 3 para el resultado
}
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.