递归寻找第n位数字

编写递归函数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;
}
相关推荐
Logic1018 小时前
C语言/数据结构位运算题解:异或XOR找出蛋糕订单中的“VIP独特口味“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Logic1019 小时前
C语言/数据结构位运算题解:异或XOR找出飞行棋中的“独特颜色棋子“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
爱吃苹果的日记本10 小时前
数据结构第三课(时间复杂度)
数据结构·学习
Logic10111 小时前
C语言/数据动态规划题解:翻转一次子数组后的最大子数组和——四状态DP(O(n)时间O(1)空间)
c语言·数据结构·动态规划·时间复杂度·算法题·状态机dp·最大子数组和
小π军12 小时前
最大重叠区间数量
数据结构·算法
Logic10113 小时前
C语言/数据结构字符串题解:找出DNA序列中未配对的独特序列——排序+遍历(O(nlogn))
c语言·数据结构·字符串·数组·排序·时间复杂度·算法题
wzdark14 小时前
基于链表的内存池设计与内存复用机制4
java·数据结构·链表
BizzZ_16 小时前
算法(1)——双指针
数据结构
Doubbbbbbble云16 小时前
内存碎片化对数据结构操作性能的影响研究4
数据结构
xiangyun6118 小时前
【408数据结构 03】线性表与顺序表:C++手写SeqList
开发语言·数据结构·c++