练习1 求任意正整数的逆置数
方法一:
#include<bits/stdc++.h>
using namespace std;
int length(int n)//递归函数求任意正整数的位数
{
if (n / 10 == 0)return 1;
else return 1 + length(n / 10);
}
int reverse(int n,int len)//将除最高位之外的数先逆置
{
int highBit, restNum;
if (len == 1)return n;
else
{
highBit = n / pow(10, len - 1);
restNum = n % (int)pow(10, len - 1);
return highBit + reverse(restNum, len - 1)*10;
}
}
int reverse2(int n,int len)//将除最低位之外的数先逆置
{
int lowBit, restNum;
if (len == 1)return n;
else
{
lowBit = n % 10;
restNum = n/10;
return lowBit*pow(10,len-1) + reverse(restNum, len - 1);
}
}
int main()
{
int n;cin >> n;
int len = length(n);
cout << reverse(n,len) << endl;
return 0;
}
方法二:
#include<bits/stdc++.h>
using namespace std;
void printDigit(int n)
{
cout << n %<