Programa C para eliminar los ceros iniciales

Aquí, construiremos un programa C para eliminar los ceros iniciales con los siguientes 2 enfoques:

  1. Uso de bucle for
  2. Usando strspn 

Para eliminar todos los ceros iniciales de un número, debemos proporcionar el número de entrada como una string.

Aporte:

a = "0001234" 

Producción: 

1234

1. Usando el bucle for

C

// C Program to Remove leading zeros
// using for loop
#include <stdio.h>
#include <string.h>
int main()
{
    // input
    char a[1000] = "0001234";
    int i, c = -1;
    
    // finding the all leading zeroes from the given string
    // and removing it from the string
    for (i = 0; i < strlen(a); i++) {
        if (a[i] != '0') {
            c = i;
            break;
        }
    }
    // printing the string again after removing the all
    // zeros
    for (i = c; i < strlen(a); i++) {
        printf("%c", a[i]);
    }
    return 0;
}
Producción

1234

2. Usando strspn 

strspn : Devuelve la longitud del primer segmento de str1 que contiene exclusivamente caracteres de str2.

C

// C Program to Remove leading zeros
// using strspn
#include <stdio.h>
#include <string.h>
int main()
{
    // input string
    char* s = "0001234";
    int n;
    
    // strspn->Returns the length of the first segment of
    // str1 that exclusively contains characters from str2.
    if ((n = strspn(s, "0")) != 0 && s[n] != '\0') {
        
        // printing the string after eliminating the zeros
        printf("%s", &s[n]);
    }
    return 0;
}
Producción

1234

Publicación traducida automáticamente

Artículo escrito por laxmigangarajula03 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *