1、递归将一个整数输出:如654321,输出1,2,3,4,5,6,代码实现如下:
void Reverse(int* pResult,int iOrigin)
{
if(iOrigin/10==0)
{
pResult[0]=iOrigin%10 ;
return ;
}else
{
pResult[0]=iOrigin%10 ;
Reverse(pResult+1,iOrigin/10) ;
}
}
int main()
{
int a=654321;
int b[10] ;
Reverse(b,a) ;
for(int i=0;i<6;i++)
{
cout<<b[i]<<',' ;
}
cout<<endl ;
}
2、用递归算法实现回文检测,如abcdefggfedcba,
int JudgeBack(char *pStr,int len)
{
if(len<=1)
{
return 1 ;
}else
if(pStr[0]==pStr[len-1])
{
return JudgeBack(pStr+1,len-2) ;
}else
{
return 0 ;
}
}
int main()
{
char *pTmp="abcdefggfedcba" ;
if(JudgeBack(pTmp,strlen(pTmp)))
{
cout<<"YES!