题目:把整数反转,结果保存到一个整数数组,如:
输入:12345
输出:[5,4,3,2,1]
#include "stdafx.h"
#include <iostream>
using namespace std;
#define INT_LENGTH 20
///反转整数
///n 输入的待反转的整数
///result 保存结果的数组指针
///int 型的返回值 表示递归的深度,也就是整数的位数
int ReverseInteger(int n,int * result)
{
*result++=n%10;
if(n/10==0)
{
return 1;
}
else
{
return 1+ReverseInteger(n/10,result);
}
}
//打印结果
void PrintResult(int * result,int len){
for(int i=0;i<len;i++)
cout<<result[i]<<" ";
}
int _tmain(int argc, _TCHAR* argv[])
{
int n=123405;
//初始化
int *result = new int[INT_LENGTH];
for(int i=0;i<INT_LENGTH;i++)
result[i]=0;
int len = ReverseInteger(n,result);
PrintResult(result,len);
delete []result;
return 0;
}