21xrx.com
2024-12-22 21:49:32 Sunday
登录
文章检索 我的文章 写文章
如何在C++中翻转一个数字
2023-07-11 22:42:21 深夜i     --     --
C++ 翻转数字 逆序操作

翻转一个数字即将数字的每一位倒序排列。在C++中,翻转一个数字可以通过以下几种方法实现。

1. 使用取模和除法的递归方法:

这种方法将数字依次除以10并取余数,然后将余数乘以10的n次方加到结果中,其中n表示数字的位数。递归直到数字为0。


int reverse(int num)

{

  static int res = 0, factor = 1;

  if (num)

  {

    reverse(num / 10);

    res += num % 10 * factor;

    factor *= 10;

  }

 

  return res;

}

2. 使用字符串反转:

这种方法将数字转换成字符串,然后将字符串反转,最后将反转后的字符串转回数字类型。


#include <string>

#include <algorithm>

int reverse(int num)

{

  std::string num_str = std::to_string(num);

  std::reverse(num_str.begin(), num_str.end());

  return std::stoi(num_str);

}

3. 使用循环和取模:

这种方法使用循环将数字的最后一位乘以10的n次方加到结果中,然后将数字除以10,直到数字为0。


int reverse(int num)

{

  int res = 0;

  while (num)

  {

    res = res * 10 + num % 10;

    num /= 10;

  }

  return res;

}

以上三种方法都可以用来翻转一个数字,可以根据实际需求选择最合适的方法。无论哪种方法,翻转一个数字都是简单的,需要掌握基本的算法和语言特性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复