lunes, 15 de junio de 2026

Mostrar los n primeros números de la siguiente serie: 5,7,10,14,19,21,24,28,33,35,38,42,... en C

Código del ejercicio:

#include <stdio.h>
#include <locale.h>

int main(){
    setlocale(LC_CTYPE, "Spanish");
    int s = 0, c = 0, sw = 1, x;
    printf("Ingrese un número: ");
    scanf("%i", &x);
    while(c < x){
        if(sw == 1){
            s += 5;
            printf("%i,", s);
            sw = 2;
        }else if(sw == 2){
            s += 2;
            printf("%i,", s);
            sw = 3;
        }else if(sw == 3){
            s += 3;
            printf("%i,", s);
            sw = 4;
        }else if(sw == 4){
            s += 4;
            printf("%i,", s);
            sw = 1;
        }
        c++;
    }
    return 0;
}

Definición de los códigos del ejercicio:

#include <stdio.h> --> significa "standard input-output header" (cabecera estándar E/S), es un archivo de encabezado que tiene la información necesaria para incluir las funciones relacionadas con la entrada/salida en nuestro programa. Ejemplo printf, scanf, etc.
#include <locale.h> --> especificador de configuración regional.
int --> dato entero de 32 bits.
main() --> es la primera función de cada programa C que es responsable de iniciar la ejecución y finalización del programa. Es una función especial que siempre comienza a ejecutar código desde el ' principal ' que tiene ' int ' o ' void ' como tipo de datos de retorno. En otras palabras, una función main() es un punto de entrada del código de programación para iniciar su ejecución.
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
printf() --> permite la aparición de valores numéricos, caracteres y cadenas de texto por pantalla.
scanf() --> permite entrar datos en la memoria del ordenador a través del teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else if --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicación del Código:

¿Qué hace el programa?

Este programa muestra los primeros números de la siguiente serie:

5, 7, 10, 14, 19, 21, 24, 28, 33, 35, 38, 42...

La serie se genera sumando números en el siguiente orden:

+5, +2, +3, +4

Después de sumar 4, el patrón vuelve a repetirse nuevamente.

Código del programa

#include <stdio.h>
#include <locale.h>

int main(){
    setlocale(LC_CTYPE, "Spanish");

    int s = 0, c = 0, sw = 1, x;

    printf("Ingrese un número: ");
    scanf("%i", &x);

    while(c < x){

        if(sw == 1){
            s += 5;
            printf("%i,", s);
            sw = 2;

        }else if(sw == 2){
            s += 2;
            printf("%i,", s);
            sw = 3;

        }else if(sw == 3){
            s += 3;
            printf("%i,", s);
            sw = 4;

        }else if(sw == 4){
            s += 4;
            printf("%i,", s);
            sw = 1;
        }

        c++;
    }

    return 0;
}

Explicación simple del código

  • #include <stdio.h>
    Permite utilizar funciones como printf y scanf.
  • #include <locale.h>
    Permite configurar el idioma español.
  • setlocale(LC_CTYPE, "Spanish");
    Configura el programa para trabajar con caracteres en español.
  • int s = 0;
    Guarda el valor acumulado de la serie.
  • int c = 0;
    Es el contador que controla cuántos números se mostrarán.
  • int sw = 1;
    Es una variable que controla qué número se debe sumar.
  • int x;
    Guarda la cantidad de números que el usuario quiere mostrar.
  • scanf("%i", &x);
    Permite ingresar la cantidad de números.
  • while(c < x)
    Repite el proceso mientras el contador sea menor que x.
  • if(sw == 1)
    Suma 5 al valor acumulado.
  • else if(sw == 2)
    Suma 2 al valor acumulado.
  • else if(sw == 3)
    Suma 3 al valor acumulado.
  • else if(sw == 4)
    Suma 4 al valor acumulado y vuelve nuevamente al estado 1.
  • printf("%i,", s);
    Muestra cada número de la serie.
  • c++;
    Incrementa el contador en 1.

¿Cómo se forma la serie?

El programa inicia en 0 y realiza las siguientes sumas:

0 + 5 = 5
5 + 2 = 7
7 + 3 = 10
10 + 4 = 14
14 + 5 = 19

Luego el patrón vuelve a repetirse:

+5, +2, +3, +4

No hay comentarios.:

Publicar un comentario

Mostrar los números de N número hasta 1 en C

Código del ejercicio: #include <stdio.h> #include <locale.h> int main (){     setlocale (LC_CTYPE, "Spanish...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️