
c语言 返回整数n从右边开始数的第k个数 要求使用递归算法
c语言1.写一个函数digit(n,k),其中n、k为整数,k是n从右边开始数的第k位;函数的返回值为整数n的第k位上的数,当k<=0时,函数值为-1。在主函数main中...
c语言
1.写一个函数digit(n,k),其中n、k为整数,k是n从右边开始数的第k位;函数的返回值为整数n的第k位上的数,当k<=0时,函数值为-1。在主函数main中实现n,k的输入和输出digit的返回值。
例如: digit(12567,2)=6
digit(12567,-2)=-1
要求:digit函数使用递归算法实现。 展开
1.写一个函数digit(n,k),其中n、k为整数,k是n从右边开始数的第k位;函数的返回值为整数n的第k位上的数,当k<=0时,函数值为-1。在主函数main中实现n,k的输入和输出digit的返回值。
例如: digit(12567,2)=6
digit(12567,-2)=-1
要求:digit函数使用递归算法实现。 展开
3个回答
展开全部
#include "iostream"
using namespace std;
int digit(int n,int k)
{
if(k <= 0)
return -1;
else if(k == 1)
return n%10;
else
{
return digit(n/10,k-1);
}
}
void main()
{
long int n;
int k;
cout<<"输入n和k,用空格隔开"<<endl;
cin>>n>>k;
cout<<digit(n,k)<<endl;
}
using namespace std;
int digit(int n,int k)
{
if(k <= 0)
return -1;
else if(k == 1)
return n%10;
else
{
return digit(n/10,k-1);
}
}
void main()
{
long int n;
int k;
cout<<"输入n和k,用空格隔开"<<endl;
cin>>n>>k;
cout<<digit(n,k)<<endl;
}
展开全部
#include
"iostream"
using
namespace
std;
int
digit(int
n,int
k)
{
if(k
<=
0)
return
-1;
else
if(k
==
1)
return
n%10;
else
{
return
digit(n/10,k-1);
}
}
void
main()
{
long
int
n;
int
k;
cout<<"输入n和k,用空格隔开"<<endl;
cin>>n>>k;
cout<<digit(n,k)<<endl;
}
"iostream"
using
namespace
std;
int
digit(int
n,int
k)
{
if(k
<=
0)
return
-1;
else
if(k
==
1)
return
n%10;
else
{
return
digit(n/10,k-1);
}
}
void
main()
{
long
int
n;
int
k;
cout<<"输入n和k,用空格隔开"<<endl;
cin>>n>>k;
cout<<digit(n,k)<<endl;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-11-29
展开全部
int digit(int n,int k)
{
if (k<=0) return -1;
else if (k>1) return digit(n/10,k-1);
else return n%10;
}
{
if (k<=0) return -1;
else if (k>1) return digit(n/10,k-1);
else return n%10;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询