假设我有一个整数,9802,有没有办法可以将这个值分成四个单独的数字:9,8,0& 2?
答案 0 :(得分:23)
继续做模10和除10:
int n; // from somewhere
while (n) { digit = n % 10; n /= 10; }
这会将数字从最不重要的数字吐出到最重要的数字。你可以清楚地将它概括为任何数字基础。
答案 1 :(得分:2)
您可能希望使用mod和divide来获取这些数字。
类似的东西:
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
这样的事情。
答案 2 :(得分:0)
如果你需要以相同的顺序显示数字,你需要两次签署模块,这就是代码:
#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;
}
我希望它有用:)