C ++分别得到每个数字

时间:2012-12-17 13:53:44

标签: c++ integer division

我有一系列从100到999的数字。我需要分别得到每个数字并检查它是否可以除以2.例如:

232
2 divided by 2 = 1 = true
3 divided by 2 = 1.5 = false
2 divided by 2 = 1 = true

等等。

要获得第一个数字,我所要做的就是将整数除以100。

int x = 256;
int k = x/100;

所以x的值为2.

现在,有没有办法检查其他的?因为k = x/10;已经是25。

5 个答案:

答案 0 :(得分:2)

可能会考虑整数除法和模数。

int k1 = (x / 10) % 10 // "10s"
int k2 = ( x / 100 ) % 10 // "100s"
//etc etc

答案 1 :(得分:2)

试试这个:

int x = 256;
int i = x / 100; // i is 2
int j = (x % 100) / 10; // j is 5
int k = (x % 10); // k is 6

答案 2 :(得分:1)

使用modulo获取数字的最后一位数,然后除以10以丢弃最后一位数。

在数字非零时重复。

答案 3 :(得分:0)

您需要的是模数运算符%。它进行除法并返回提醒。

1 % 2 = 1
2 % 2 = 0
3 % 2 = 1
4 % 2 = 0
...

答案 4 :(得分:-2)

例如。拿232:

int num = 232;
int at_ones_place = num % 10;
int at_tens_place = ( num /10 ) % 10 ;
int at_hundreds_place = (num /100);