2、编写一个程序,将给定的整数n中各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。例如,输入一个整数27638496,函数返回值为64862。写C语
时间: 2024-12-19 22:17:20 浏览: 10
编写一个C语言程序来满足这个需求,我们首先需要遍历输入数字的每一位,检查是否为偶数,然后将这些偶数按倒序存储在一个临时数组中,最后再将它们转换回整数形式并返回。以下是C语言实现的一个简单版本:
```c
#include <stdio.h>
// 函数声明
int reverseEven(int n);
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
int result = reverseEven(num);
printf("函数返回值为: %d\n", result);
return 0;
}
// 定义函数reverseEven,实现提取偶数并反转
int reverseEven(int n) {
int evenDigit = 0; // 存储偶数位
int temp[10] = {0}; // 用于存储偶数的临时数组
int remainder;
while (n != 0) {
remainder = n % 10; // 取余得到当前位
if (remainder % 2 == 0) { // 检查是否为偶数
temp[evenDigit++] = remainder; // 如果是偶数,存入数组
}
n /= 10; // 移除最低位
}
// 将临时数组反转并组合成新的整数
int reversedNum = 0;
for (int i = evenDigit - 1; i >= 0; i--) {
reversedNum *= 10;
reversedNum += temp[i];
}
return reversedNum;
}
```
在这个程序中,`reverseEven`函数会处理所有奇数位置的数字,然后对偶数位进行反转。在主函数`main`中,用户输入一个整数,然后调用`reverseEven`函数获取结果。
阅读全文