从C中获取十进制的某个数字

时间:2013-09-26 14:30:32

标签: c

我有int x = 346

我需要轮流,每次都是新的数字,所以先是3,然后是4,然后是6。 使用floor对我没有帮助, 这里的其他例子只给出左/右数字。

是否有简单的算法?

1 个答案:

答案 0 :(得分:5)

a%10为您提供数字的最后一位数,即除以10时的余数。您可以打印数字的所有数字,如下所示:

void print_digits(int a) {
  while (a > 0) {
    printf("%d\n", a%10);
    a /= 10;
  }
}

这将打印从最不重要到最重要的数字。如果您使用辅助堆栈,则可以按相反顺序获取它们。