用最基础的C++ 设计函数 digit(num,k),返回整数 num 从右边开始的第 k 位数字的值。例 如:digit(4647,3)=6;digit(23523,7)=0
时间: 2024-12-14 10:27:06 浏览: 12
在 C++ 中,设计这个名为 `digit` 的函数非常直接。你可以使用取模运算 `%` 来获取数字的最后一位,然后不断地除以 10 并取余,直到找到第 k 位。以下是基础版的函数实现:
```cpp
#include <iostream>
int digit(int num, int k) {
// 检查参数有效性
if (k <= 0 || num == 0) {
std::cerr << "Invalid input: k should be a positive integer and num cannot be zero." << std::endl;
return -1; // 返回错误代码
}
// 使用取模运算找到第 k 位数字
while (k > 1) {
num /= 10; // 移除右侧的每一位
k--;
}
// 最后一位数字就是我们需要的结果
return num % 10;
}
// 示例调用
int main() {
std::cout << digit(4647, 3) << std::endl; // 输出:6
std::cout << digit(23523, 7) << std::endl; // 输出:0
return 0;
}
```
这个函数首先检查输入是否有效,然后通过一系列的除法和取余操作找到指定位置的数字。如果需要处理负数的情况,只需稍微修改一下取模的部分即可。
阅读全文