编写递归函数digit(n,j),返回整数n的从右边开始的第j位数字
首先来看非递归法,只需用n/(10^(j-1))%10即可
cpp
#include<stdio.h>
//编写递归函数digit(n,j),返回整数n的从右边开始的第j位数字
int digit(int n,int j)
{
int i,s=1,result;
for(i=0;i<j-1;i++)
{
s*=10;
}
result=(n/s)%10;
return result;
}
int main()
{
int x,y;
printf("请输入n和j的值:");
scanf("%d%d",&x,&y);
int rev=digit(x,y);
printf("%d",rev);
return 0;
}
递归方法
cpp
int digit(int n,int j)
{
if(j==1)
{
return n%10;
}
return digit(n/10,j-1);
}
int main()
{
int x,y;
printf("请输入n和j的值:");
scanf("%d%d",&x,&y);
int rev=digit(x,y);
printf("%d",rev);
return 0;
}