Ejercicios de programación sobre bucles anidados

Con estos ejercicios de programación puedes practicar el uso de bucles anidados: es decir, ejercicios que requieren que uses un bucle dentro de otro.

Los ejercicios están ordenados por dificultad, así que te recomiendo que si los ves muy fáciles aumentes el nivel de dificultad avanzando, y al contrario si los ves muy difíciles.

  1. Muestra por pantalla todos los números primos entre 2 y 100, ambos incluidos.
  2. Dada la cadena «\|@#~€¬ºª!»·$%&/()=», indicar si otra cadena dada por el usuario contiene alguno de esos caracteres. (SI o NO)
  3. Leer un número N y calcular el factorial de los números desde 0 hasta N.
  4. Leer un número N y calcular la suma de los factoriales de los números desde 0 hasta N
  5. Programa que muestre en lineas separadas lo siguiente: ZYWXVUTSRQPONMLKJIHGFEDCBA, YWXVUTSRQPONMLKJIHGFEDCBA, WXVUTSRQPONMLKJIHGFEDCBA, …., DCBA, CBA, BA, A. No se pueden usar métodos tipo substring ni del tipo.
  6. Necesitamos mostrar un contador con 5 dígitos (X-X-X-X-X), que muestre los números del 0-0-0-0-0 al 9-9-9-9-9, con la particularidad que cada vez que aparezca un 3 lo sustituya por una E.
  7. Algoritmo que lea un número entero (lado) y a partir de él cree un cuadrado de asteriscos con ese tamaño. Los asteriscos sólo se verán en el borde del cuadrado, no en el interior. Por ejemplo, con lado 5:
    *****
    *   *
    *   *
    *   *
    *****
  8. Algoritmo que lea un número entero (altura) y a partir de él cree una escalera invertida de asteriscos con esa altura. Debera quedar asi, si ponemos una altura de 5.
    *****
    ****
    ***
    **
    *
  9. Escribe un programa que pinte una pirámide rellena con un carácter introducido por teclado que podrá ser una letra, un número o un símbolo como *, +, -, $, &, etc.
        #
       ###
      #####
     #######
    #########
  10. Escribe un programa que lea un número n e imprima una pirámide de números con n filas como en la siguiente figura:
       1
      121
     12321
    1234321
  11. Introduce en el programa anterior un menú para que permita al usuario elegir si el vértice de la pirámide está apuntando hacia arriba, hacia abajo, hacia la izquierda o hacia la derecha.
  12. Realizar  un  programa  que  permita  localizar  todas  las  apariciones  de  una  subcadena dentro de otra.
  13. Leer un número N y calcular el factorial de los números desde 0 hasta N.
  14. Leer un número N y calcular la suma de los factoriales de los números desde 0 hasta N
  15. Programa que muestre en lineas separadas lo siguiente: ZYWXVUTSRQPONMLKJIHGFEDCBA, YWXVUTSRQPONMLKJIHGFEDCBA, WXVUTSRQPONMLKJIHGFEDCBA, …., DCBA, CBA, BA, A.
  16. Necesitamos mostrar un contador con 5 dígitos (X-X-X-X-X), que muestre los números del 0-0-0-0-0 al 9-9-9-9-9, con la particularidad que cada vez que aparezca un 3 lo sustituya por una E.
  17. Programa que reciba dos cadenas y determine si la primera está incluida en la segunda. Se considera que una cadena está incluida en otra si todos los caracteres de la primera se encuentran en la segunda.
  18. Leer una cadena de caracteres y sustituir todas las apariciones de ny por ñ pero sin usar replace ni métodos por el estilo. Sólo se permiten métodos para consultar la longitud de la cadena y el caracter que hay en una posición dada.
  19. Programa que nos diga si una cadena c contiene una subcadena s introducidas por el usuario. Si aparece, nos dirá la posición de inicio de la subcadena, y si aparece varias veces, indique las posiciones de inicio de todas las apariciones.
  20. Pig Latín es una forma codificada de escribir y hablar de los niños ingleses. Una palabra en pig latín se forma trasponiendo las sílabas de una palabra y anteponiendo la letra ‘a’. Escribir un programa en C que acepte una línea de texto e imprima el correspondiente texto en pig latín.
  21. Un oficial de correos decide optimizar el trabajo de su oficina cortando todas las palabras de más de cinco letras a sólo cinco letras (e indicando que una palabra fue cortada con el agregado de una arroba). Además elimina todos los espacios en blanco de más.
    Por ejemplo, al texto » Llego mañana alrededor del mediodía » se transcribe como «Llego mañan@ alred@ del medio@».
    Por otro lado cobra un valor para las palabras cortas y otro valor para las palabras largas (que deben ser cortadas).
    • Escribir una función que reciba un texto, la longitud máxima de las palabras, el costo de cada palabra corta, el costo de cada palabra larga, y devuelva como resultado el texto del telegrama y el costo del mismo.
    • Los puntos se reemplazan por la palabra especial «STOP», y el punto final (que puede faltar en el texto original) se indica como «STOPSTOP».
      Al texto:
      » Llego mañana alrededor del mediodía. Voy a almorzar «
      Se lo transcribe como:
      «Llego mañan@ alred@ del medio@ STOP Voy a almor@ STOPSTOP».

Vuelve al listado general de ejercicios de programación.