2011-08-17 13 views

risposta

22

continuare a fare modulo-10 e di divisione per 10:

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

Questo sputa fuori i numeri meno significativi di più significativo. Puoi chiaramente generalizzare questo a qualsiasi numero di base.

+0

Perfetto grazie molte – daidai

2

Probabilmente vorrete usare mod e dividere per ottenere queste cifre.

Qualcosa di simile:

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 

Qualcosa del genere.

0

se è necessario per visualizzare i numeri nello stesso ordine è necessario fare due volte il modulo visto versi questo è il codice farlo:

#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; 
} 

spero che sia utile :)

Problemi correlati