C语言 编写函数long fun(long x),将长整型参数x中每一位上为偶数的数依次取出,构成一个新数返回,例如:下面程序运行时输入:124578902,程序输出:24802.
时间: 2024-12-24 09:20:41 浏览: 82
您描述的函数 `long fun(long x)` 的目的是从给定的长整型 `x` 中提取每一位上为偶数的数字,并按照原顺序组成一个新的长整型数返回。为了实现这个功能,可以采用位操作技巧。下面是一个简单的C语言函数示例,利用异或 (`^`) 运算符来判断每一位是否为偶数,然后使用左移运算 (`<<`) 来把提取的偶数数字组合在一起:
```c
#include <stdio.h>
// 定义函数fun
long long fun(long long x) {
long long result = 0; // 结果变量初始化为0
while (x > 0) {
// 如果当前位为偶数,则将其加入结果
if ((x & 1) == 0) {
result <<= 1; // 左移一位
result |= 1; // 或者进一位(相当于加上2的幂次)
}
x >>= 1; // 右移一位,去掉最低位
}
return result;
}
int main() {
long long input;
printf("请输入一个长整型数字:");
scanf("%lld", &input);
long long output = fun(input);
printf("输出结果:%lld\n", output);
return 0;
}
```
当你运行上面的程序时,如果输入 `124578902`,它会输出 `24802`,正如您所期望的那样。
阅读全文
相关推荐


















