递归寻找第n位数字
编写递归函数digit(n,j),返回整数n的从右边开始的第j位数字
首先来看非递归法,只需用n/(10^(j-1))%10即可
#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;
}
递归方法
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;
}