编写C语言程序,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数
时间: 2023-05-25 10:03:17 浏览: 169
```c
#include <stdio.h>
int main()
{
int num, res = 0, base = 1;
printf("请输入一个整数:");
scanf("%d", &num);
while (num != 0)
{
int digit = num % 10;
if (digit % 2 == 0)
{
res += digit * base;
base *= 10;
}
num /= 10;
}
printf("新数为:%d\n", res);
return 0;
}
```
注:该程序假设输入的整数为非负数,如需支持负数可在输入后判断并将其转为正数处理。
相关问题
C语言,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来的从高位到低位的顺序组成一个新数
```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,则说明原整数上没有偶数数字。
编写C语言程序输入一个正整数。将各位上为偶数的数取出。并按原来从高位到低位相反的顺序组成一个新的数输出。
以下是C语言程序,实现输入一个正整数,将各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数输出:
```c
#include <stdio.h>
int Fun(int n) {
int res = 0, base = 1;
while (n > 0) {
int digit = n % 10;
if (digit % 2 == 0) {
res += digit * base;
base *= 10;
}
n /= 10;
}
return res;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
int res = Fun(n);
printf("各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成的新数为:%d\n", res);
return 0;
}
```
阅读全文