用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