sábado, 13 de junio de 2026

Generar la siguiente serie 1,1,1,2,2,2,3,3,3,4,4,4,... en C

Código del ejercicio:

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

int main(){
    setlocale(LC_CTYPE, "Spanish");
    int a = 1, sw = 1, stop = 3, b;
    printf("Ingrese un número: ");
    scanf("%i", &b);
    while(a <= b){
        printf("%i,", a);
        if(sw < stop){
            sw++;
        }else{
            a++;
            sw = 1;
        }
    }
    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.
<= --> el operador menor o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicación del Código:

Este programa genera la siguiente serie:

1,1,1,2,2,2,3,3,3,4,4,4,...

Cada número se repite 3 veces antes de pasar al siguiente.

Código del Programa

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

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

    int a = 1, sw = 1, stop = 3, b;

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

    while(a <= b){

        printf("%i,", a);

        if(sw < stop){
            sw++;
        }else{
            a++;
            sw = 1;
        }
    }

    return 0;
}

Explicación de Cada Parte del Código

Código Explicación
#include <stdio.h> Permite usar funciones como printf y scanf.
#include <locale.h> Permite configurar el idioma español.
int main() Función principal donde inicia el programa.
setlocale(LC_CTYPE, "Spanish"); Configura el idioma español para caracteres especiales.
int a = 1 Variable que almacena el número que se mostrará.
int sw = 1 Contador que controla cuántas veces se repite el número.
int stop = 3 Indica que cada número debe repetirse 3 veces.
int b Guarda el número límite ingresado por el usuario.
printf("Ingrese un número: "); Muestra un mensaje solicitando un número.
scanf("%i", &b); Lee el número ingresado por el usuario.
while(a <= b) Repite el proceso mientras "a" sea menor o igual al límite.
printf("%i,", a); Muestra el número actual de la serie.
if(sw < stop) Verifica si el número aún no se repitió 3 veces.
sw++; Incrementa el contador de repeticiones.
a++; Pasa al siguiente número de la serie.
sw = 1; Reinicia el contador para repetir nuevamente.
return 0; Finaliza correctamente el programa.
Ejemplo:

Si el usuario ingresa el número 4, el programa mostrará:

1,1,1,2,2,2,3,3,3,4,4,4,

No hay comentarios.:

Publicar un comentario

Mostrar los n primeros números de la siguiente serie: 1,3,9,11,33,35,105,107,... en C

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

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