编写函数int digit(int n,int k),函数返回n中从右边开始的第k位数字的值,如:digit(231456,3)=4;digit(1456,5=0
时间: 2024-05-26 13:11:34 浏览: 20
好的,我知道了。您的第一个问题是如下:编写函数int digit(int n,int k),函数返回n中从右边开始的第k位数字的值,如:digit(231456,3)=4;digit(1456,5=0。对吗?那么我的回答是:
int digit(int n, int k) {
if(k <= 0) {
return -1;
}
int count = 0;
while(n > 0) {
count++;
if(count == k) {
return n%10;
}
n /= 10;
}
return 0;
}
这个函数的作用是返回一个整数n中从右边开始的第k位数字的值。如果k<=0,则返回-1。如果n的位数少于k位,则返回0。
相关问题
编写一个函数 int digit( int n , int k ),返回 n 的从右向左的第 k 位的数字。
以下是C语言实现的函数int digit(int n, int k):
```c
int digit(int n, int k){
int i, a, count = 0, copy_n;
copy_n = n;
while(copy_n ! 0){
copy_n /= 10;
++;
}
if(k > count){
return -1;
}
else{
for(i =1; i <= k; i++){
a = n % 10;
n /= 10;
}
return a;
}
}
```
该函数的实现思路是先计算n的位数,如果k大于n的位数,则返回-1,否则从右向左遍历n的每一位,找到第k位的数字并返回。例如,digit(256,1)返回6,digit(256,3)返回2。
用编写函数返回n中从右边开始第k位数字的值
可以回答这个问题。可以编写一个函数,接收两个参数n和k,然后将n转换为字符串,再从字符串的右边开始取第k位数字的值。具体实现可以参考以下代码:
```python
def get_kth_digit_from_right(n, k):
n_str = str(n)
return int(n_str[-k])
```
例如,如果n=123456789,k=3,那么函数返回7。