输出c语言程序:将一个长整型数s的每一位数位上的偶数依次取出来,构成一个新的数t,其高位仍在高位,低位仍在低位,例如:s=87653142时,t中的数为8642。
时间: 2024-11-06 08:22:24 浏览: 57
在C语言中,我们可以使用循环和位运算来实现这个功能。这里是一个简单的示例代码:
```c
#include <stdio.h>
// 函数来提取并组合奇数位置的数字
long long extract_even_digits(long long s) {
long long t = 0; // 结果变量,用于存储偶数位数字
while (s != 0) {
// 如果当前位是偶数,即s的最后一位 AND 1的结果为0
if ((s & 1) == 0) {
// 将这一位左移一位(相当于除以2),然后添加到结果中
t = (t << 1) | (s & 1);
}
// 右移一位去掉最低位,准备检查下一位
s >>= 1;
}
return t;
}
int main() {
long long s = 87653142;
long long t = extract_even_digits(s);
printf("Original number: %lld\n", s);
printf("New number with even digits: %lld\n", t);
return 0;
}
```
在这个程序中,我们通过`extract_even_digits`函数实现了目标功能。该函数遍历输入数字`s`的每一位,如果它是偶数,就将其加入到`t`中,并保持数字顺序。运行这段代码会得到预期的结果。
阅读全文