用C ++编写一个程序来反转数字

颠倒数字的程序将互换数字的位置并颠倒其顺序。

假设为数字abcde,反之则为edcba。

让我们举个例子来了解这个问题,

输入值

n = 786521

输出结果

125687

要反转数字,我们将从MSB(单位数字)中提取数字的每个数字,并将其添加到反向数字变量中,然后将原始数字除以10,然后将reverse_number乘以10。直到完成。该数字变为0。

这个重复过程可以通过迭代和递归这两种方法来完成,我们将创建一个程序来说明这两种方法。

示例

方法1:迭代方法

#include <iostream>
using namespace std;
int reversDigitsIt(int n) {
   int reverseNumber = 0;
   while(n > 0){
      reverseNumber = reverseNumber*10 + n%10;
      n /= 10;
   }
   return reverseNumber;
}
int main() {
   int n = 4562;
   cout<<"The number is : "<<n<<endl;
   cout<<"Reverse of number is "<<reversDigitsIt(n);
   return 0;
}

输出结果

The number is : 4562
Reverse of number is 2654

示例

方法2:递归方法

#include <iostream>
using namespace std;
int reverseNumber = 0;
int numPos = 1;
void reversDigitsRec(int n) {
   if(n > 0){
      reversDigitsRec(n/10);
      reverseNumber += (n%10)*numPos;
      numPos *= 10;
   }
}
int main() {
   int n = 4562;
   cout<<"The number is : "<<n<<endl;
   reversDigitsRec(n);
   cout<<"Reverse of number is "<<reverseNumber;
   return 0;
}

输出结果

The number is : 4562
Reverse of number is 2654