c语音输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数
时间: 2023-05-30 18:02:42 浏览: 77
思路:
1. 读入整数;
2. 循环取出各位数字;
3. 判断数字是否为偶数,如果是,加入到新数中;
4. 输出新数。
代码实现:
```c
#include <stdio.h>
int main() {
int num, new_num = 0, digit, base = 1;
printf("请输入一个整数:");
scanf("%d", &num);
while (num > 0) {
digit = num % 10;
if (digit % 2 == 0) {
new_num += digit * base;
base *= 10;
}
num /= 10;
}
if (new_num == 0) {
printf("该数字中没有偶数位数字。\n");
} else {
printf("新的数字为:%d\n", new_num);
}
return 0;
}
```
示例输出:
```
请输入一个整数:123456789
新的数字为:2468
```
```
请输入一个整数:13579
该数字中没有偶数位数字。
```
相关问题
c语音输入一个整数输出整数位数和各位相加之和
以下是C语言输入一个整数输出整数位数和各位相加之和的代码:
```c
#include <stdio.h>
int main() {
int num, digit, sum = 0, count = 0;
printf("请输入一个整数:");
scanf("%d", &num);
while (num > 0) {
digit = num % 10; // 取出最低位数字
sum += digit; // 累加各位数字之和
num /= 10; // 去掉最低位数字
count++; // 统计整数位数
}
printf("整数位数为:%d\n各位数字之和为:%d\n", count, sum);
return 0;
}
```
用c语音输入一个正整数n,再输入n个整数,输出其中的偶数。要求相邻偶数中间用一个空格分开
```c
#include <stdio.h>
int main() {
int n, i, x, flag = 0; // flag标志是否为第一个偶数,若是则不输出空格
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &x);
if (x % 2 == 0) {
if (flag == 1) {
printf(" ");
} else {
flag = 1;
}
printf("%d", x);
}
}
return 0;
}
```
使用flag变量来判断是否为第一个偶数,若是则不输出空格。