c语言抽取整数中偶数数字反序组成新整数
时间: 2024-02-12 20:08:04 浏览: 25
好的,这里是一个 C 语言的实现:
```c
#include <stdio.h>
int reverse_even_digits(int num) {
// 用于存储偶数数字的字符串
char even_digits_str[16] = "";
// 将整数转换为字符串
sprintf(even_digits_str, "%d", num);
int length = strlen(even_digits_str);
// 遍历字符串中的每个字符
for (int i = 0; i < length; i++) {
// 判断字符是否是偶数数字
if ((even_digits_str[i] - '0') % 2 == 0) {
// 如果是,将其移动到新字符串的末尾
strcat(even_digits_str, &even_digits_str[i]);
even_digits_str[i] = '\0';
i--;
length--;
}
}
// 将新的字符串反转并转换为整数
int reversed_num = atoi(strrev(even_digits_str));
return reversed_num;
}
int main() {
int num = 12345678;
int reversed_num = reverse_even_digits(num);
printf("Reversed even digits of %d: %d", num, reversed_num);
return 0;
}
```
使用这个函数,你可以输入一个整数,比如 `12345678`,它会返回一个新整数 `8642`,这个新整数是原来整数中偶数数字反序组成的。