在C中仍然包含零的同时如何反转数字?

时间:2018-10-15 21:35:19

标签: c int reverse

我想颠倒int,以便顺序从“第一到最后”更改为“最后到第一”(例如,123变为321100变为0010003变成3000等。)

我有以下代码,但是基于它的工作方式,完全跳过该过程之前或之后的任何前导零或尾随零。 (0003变成3

int reverseNumber(int number);

main()
{
 int s = 123000000;
 printf("%d\n", reverseNumber(s));
}

int reverseNumber(int number) {
  int reversedNumber = 0, remainder;
  while(number != 0)
      {
          remainder = number%10;
          reversedNumber = reversedNumber*10 + remainder;
          number /= 10;
      }
  return reversedNumber;
}

如何更改代码,使其在不省略零的情况下起作用?

1 个答案:

答案 0 :(得分:0)

因为前导零没有值,所以您需要告诉您的函数所提供的值的位数或前导零的数量。

前导零的数目更容易:

ConstraintViolationException