2011-08-17 28 views

Respuesta

22

Siga haciendo módulo-10 y dividir por 10:

int n; // from somewhere 
while (n) { digit = n % 10; n /= 10; } 

Este escupe los dígitos menos significativos de a más significativo. Puedes generalizar claramente esto en cualquier base numérica.

+0

Perfecto muchas gracias – daidai

2

es probable que desee utilizar mod y dividir para obtener estas cifras.

Algo así como:

Grab first digit: 

    Parse digit: 9802 mod 10 = 2 
    Remove digit: (int)(9802/10) = 980 

Grab second digit: 

    Parse digit: 980 mod 10 = 0 
    Remove digit: (int)(980/10) = 98 

Algo por el estilo.

0

si es necesario para mostrar los dígitos en el mismo orden en que se tiene que hacer dos veces el módulo de visado verso este es el código que hace que:

#import <Foundation/Foundation.h> 
int main (int argc, char * argv[]) 
    { 
    @autoreleasepool { 
    int number1, number2=0 , right_digit , count=0; 
    NSLog (@"Enter your number."); 
    scanf ("%i", &number); 
    do { 
     right_digit = number1 % 10; 
     number1 /= 10; 
    For(int i=0 ;i<count; i++) 
     { 
     right_digit = right_digit*10; 
     } 
    Number2+= right_digit; 
    Count++; 
     } 
    while (number != 0); 
do { 
right_digit = number2 % 10; 
number2 /= 10; 
Nslog(@”digit = %i”, number2); 
} 
while (number != 0); 
} 
} 
return 0; 
} 

espero que sea útil :)

Cuestiones relacionadas