递归寻找第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;
}
相关推荐
h_a_o777oah10 小时前
【树论】树链剖分:将树形结构转化为线性结构以处理树上路径问题(洛谷 P3384 附C++代码模板)
数据结构·算法·线段树·acm·树链剖分·树论·重链剖分
HEJOO910 小时前
指针的算术运算详解
java·数据结构·算法
Coder-magician10 小时前
《代码随想录》刷题打卡day47:并查集-part01
数据结构·算法·图论
垆边人似月.11 小时前
VLAN 资源池(100~200 分档)
数据结构·算法
程序员清风12 小时前
算法与数据结构入门:复杂度、数组与链表
数据结构·算法·链表
Logic10115 小时前
C语言/数据结构排序题解:三个数的最大乘积——排序后比较两种候选情况
c语言·数据结构·数组·排序·时间复杂度·算法题·负数处理
殷色玫瑰16 小时前
C++ string类详解:常用接口、字符串操作与模拟实现
java·linux·c语言·开发语言·数据结构·c++
写后端的胖头鱼18 小时前
时间复杂度 & 空间复杂度
java·数据结构·算法·时间复杂度·空间复杂度
多弗朗皮卡丘18 小时前
数据结构番外:环形队列
数据结构·c
50万马克的面包19 小时前
顺序表和链表_精华知识点_CSDN博客
数据结构·链表