Ejercicios Básicos en C
Este documento contiene una serie de ejercicios diseñados para introducir a los estudiantes en la programación en C. Los ejercicios están organizados por niveles de dificultad y están inspirados en utilidades de Unix y manipulación de entrada/salida.
🟢 Nivel 1: Fundamentos
1. Hola, nombre
Escribe un programa que imprima Hola, <nombre> donde <nombre> se recibe como argumento en la línea de comandos.
Ejemplo: ./hola Ángel → Hola, Ángel
2. Contador de argumentos
Crea un programa que imprima cuántos argumentos ha recibido y los liste uno por uno.
3. Eco personalizado
Haz un programa que imprima todos los argumentos recibidos, separados por comas.
🟡 Nivel 2: Entrada estándar y manipulación básica
4. Repetidor de líneas
Escribe un programa que reciba un número n como argumento y repita cada línea de la entrada estándar n veces.
Ejemplo: ./repetidor 3 → si se introduce hola, imprime hola tres veces.
5. Rotador de caracteres
Crea un programa que reciba un número n como argumento y rote los caracteres de cada línea de la entrada estándar n posiciones a la derecha.
Ejemplo: ./rotador 2 → hola se convierte en laho.
6. Contador de líneas
Programa que cuenta cuántas líneas se han introducido por entrada estándar.
🟠 Nivel 3: Inspirados en Unix
7. Mini grep
Haz un programa que reciba una palabra como argumento y solo imprima las líneas de la entrada estándar que contengan esa palabra.
8. Mini tail
Escribe un programa que imprima las últimas n líneas de la entrada estándar, donde n se recibe como argumento.
9. Mini wc
Programa que cuenta el número de caracteres, palabras y líneas de la entrada estándar.
10. Filtro por longitud
Crea un programa que imprima solo las líneas cuya longitud sea mayor o igual a un número dado como argumento.
🟣 Nivel 4: Combinación de argumentos y entrada
11. Reemplazo de palabra
Programa que recibe dos palabras como argumentos: una a buscar y otra para reemplazar. Sustituye todas las ocurrencias en la entrada estándar.
12. Selector de líneas
Recibe dos números como argumentos: inicio y fin. Imprime solo las líneas entre esas posiciones (inclusive).