编写函数int digit(int n,int k),函数返回n中从右边开始的第k位数字的值,如:digit(231456,3)=4;digit(1456,5)=0
时间: 2024-05-14 14:15:54 浏览: 16
好的,我知道了。这个问题可以通过对n进行取余和除法来实现。具体步骤如下:
1. 定义一个变量count,表示当前处理到的数字位数,初值为1。
2. 如果k小于1或者大于n的数字位数,则返回-1。
3. 如果n是负数,则对其取绝对值操作,并将一个标志位置为1,表示这是一个负数。
4. 反复进行以下步骤,直到n的值为0或者count的值等于k:
a. 对n进行取余操作,得到最后一位数字。
b. 如果count等于k,则返回这个数字。
c. 对n进行除法操作,去掉最后一位数字。
d. count加1。
5. 如果n已经为0了,但是count还没有等于k,则返回0。
6. 如果之前对n取了绝对值操作,则将结果乘以-1。
下面是代码实现:
```python
def digit(n, k):
count = 1
sign = 1
if n < 0:
n = -n
sign = -1
while n > 0 and count < k:
digit = n % 10
if count == k:
return digit * sign
n //= 10
count += 1
return 0
```
你可以通过调用这个函数来验证它的正确性。
相关问题
编写函数int digit(int n,int k),函数返回n中从右边开始的第k位数字的值,如:digit(231456,3)=4;digit(1456,5=0
好的,我知道了。您的第一个问题是如下:编写函数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。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)