颠倒数字的程序将互换数字的位置并颠倒其顺序。
假设为数字abcde,反之则为edcba。
让我们举个例子来了解这个问题,
n = 786521
输出结果
125687
要反转数字,我们将从MSB(单位数字)中提取数字的每个数字,并将其添加到反向数字变量中,然后将原始数字除以10,然后将reverse_number乘以10。直到完成。该数字变为0。
这个重复过程可以通过迭代和递归这两种方法来完成,我们将创建一个程序来说明这两种方法。
#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
#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