C语言,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来的从高位到低位的顺序组成一个新数
时间: 2023-05-29 14:06:13 浏览: 140
```c
#include <stdio.h>
int main() {
int num, new_num = 0, digit, power = 1;
printf("请输入一个整数:");
scanf("%d", &num);
while (num) {
digit = num % 10;
if (digit % 2 == 0) {
new_num += digit * power;
power *= 10;
}
num /= 10;
}
if (new_num == 0) {
printf("该整数上没有偶数数字。\n");
} else {
printf("新数为:%d\n", new_num);
}
return 0;
}
```
运行结果:
```
请输入一个整数:123456789
新数为:2468
```
思路解析:
1. 定义变量 `num` 存储输入的整数,变量 `new_num` 存储新数,变量 `digit` 存储当前位上的数字,变量 `power` 存储新数的位数。
2. 循环处理整数的每一位,直到整数为 0。
3. 取出当前位上的数字,判断是否为偶数。
4. 如果是偶数,则将该数字加入新数中。
5. 通过 `power` 计算新数的位数。
6. 将整数除以 10,继续处理下一位。
7. 如果新数为 0,则说明原整数上没有偶数数字。
阅读全文