编写函数fun(num)其中bum是一个n位数,函数功能是求整数num的后n-1,用c语言编写
时间: 2023-12-10 14:40:22 浏览: 35
以下是一个示例代码:
```c
#include <stdio.h>
int fun(int num, int n) {
int base = 1;
for (int i = 0; i < n - 1; i++) {
base *= 10;
}
return num % base;
}
int main() {
int num = 123456;
int n = 3;
int result = fun(num, n);
printf("%d 的后 %d 位是 %d", num, n - 1, result);
return 0;
}
```
解释一下代码的思路:
1. 函数 `fun` 接受两个参数:整数 `num` 和数字位数 `n`。
2. 首先,我们需要计算出 `num` 的后 `n-1` 位对应的基数 `base`,即 `10^(n-1)`。
3. 然后,我们将 `num` 对 `base` 取模,得到的结果就是 `num` 的后 `n-1` 位。
4. 最后,我们返回这个结果。
在示例代码中,我们使用了硬编码的 `num` 和 `n`,你需要根据实际情况修改这些值。
相关问题
编写函数fun(num)其中bum是一个n位数,函数功能是求整数num的后n-1位
以下是一个Python的实现:
```python
def fun(num, n):
return num % pow(10, n-1)
```
其中,`num % pow(10, n-1)` 可以得到 `num` 的后 `n-1` 位数字。
编写函数digit(num,k)返回整数bum中第k位数字的值要求用切片
以下是实现该函数的代码:
```python
def digit(num, k):
num_str = str(num)
return int(num_str[k-1:k])
```
该函数将整数`num`转换为字符串,然后使用切片操作获取该字符串中第`k`位数字的子串,并将其转换为整数返回。需要注意的是,由于切片操作是左闭右开区间,因此我们需要使用`k-1`作为起始索引。