Herranz

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 ÁngelHola, Á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 2hola 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).