递归寻找第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;
}
相关推荐
想做小南娘,发现自己是女生喵6 小时前
【无标题】
数据结构·算法
凤凰院凶涛QAQ11 小时前
《Java版数据结构 & 集合类剖析》栈与队列:“push/pop 是栈的灵魂,offer/poll 是队列的骨架——四组 API,两种人生”
java·开发语言·数据结构
郝学胜-神的一滴11 小时前
算法实战:最小k个数——大顶堆的优雅解法
开发语言·数据结构·c++·python·程序人生·算法·排序算法
Irissgwe11 小时前
算法滑动窗口
数据结构·算法
LuminousCPP14 小时前
C 语言集中实践全记录:顺序表 + 单链表原理实现与通讯录项目实战【附可运行源码】
c语言·开发语言·数据结构·经验分享·笔记
兰令水15 小时前
hot100【acm版】【2026.7.13打卡-java版本】
java·开发语言·数据结构·算法·leetcode·面试
LuminousCPP18 小时前
单链表专题(应用篇):三道经典题吃透删除、反转与快慢指针
c语言·数据结构·笔记
:-)18 小时前
算法-希尔排序
数据结构·算法·排序算法
罗超驿1 天前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
:-)1 天前
算法-堆排序
数据结构·算法·排序算法