编写C语言程序,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数
时间: 2023-05-25 18:03:17 浏览: 185
```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语言,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数。例如,输入的整数是27638496,则组成的新数是26846。
```
#include <stdio.h>
int main()
{
int num, newNum = 0, digit, i = 1;
printf("请输入一个整数:");
scanf("%d", &num);
while(num > 0)
{
digit = num % 10; // 取出个位数字
if(digit % 2 == 0) // 判断是否为偶数
{
newNum += digit * i; // 将偶数位数字加入新数中
i *= 10;
}
num /= 10; // 去掉个位数字
}
printf("组成的新数是:%d", newNum);
return 0;
}
```
阅读全文