2在给定的数中从右边查找第K位数字(30分)
题目内容:
设计一个函数int digit(long n,int k),它返回整数n从右边开始第k个数字的值,若不存在第k个数字则返回-1。
输入格式:
输入两个实参
输出格式:
对应位的数值
输入样例:
输出样例:
my answer:
#include <math.h>
using namespace std;
int digit(long n,int k);
int main ()
{
long n;
cin>>n;
int k;
cin>>k;
cout<< digit(n,k);
return 0;
}
int digit(long n,int k)
{
int i=1,j;
for(j=999;j!=0;i++)
{
j=n/(pow(10,i));
}
if(k>(--i))
return -1;
else
{
for(;k>1;k--)
{
n/=10;
}
return (n%10);
}
}
指针与数组版:
在这里插入代码片
备注:用于求string 长度的方法:
//1:
string a;
cin>>a;
cout<<a.length();
//2:
string a;
cin>>a;
cout<<a.size();