请编写一个函数 unsigned fun ( unsigned w ),w 是一个大于10的无符号整数,若 w 是 n (n ≥ 2)位的整数,函数求出w的低 n-1位的数作为函数值返回。 例如:w 值为 5923,则函数返回 923; w 值为 923 则函数返回 23。
时间: 2024-03-11 21:51:23 浏览: 88
无符号整数
好的,我可以帮你编写这个函数。以下是C++代码实现:
```cpp
unsigned fun(unsigned w) {
int n = 1;
while (w / (unsigned)pow(10, n) >= 1) {
n++;
}
return w % (unsigned)pow(10, n-1);
}
```
这个函数首先根据w的位数n进行计算,然后用取模运算符%返回w的低n-1位的数。注意要强制将pow函数的返回值转换为无符号整型,否则可能会出现编译警告。
阅读全文