设计程序sy3-3.c,输入一个整数,要求将该整数上各位数字是偶数的数取出,并按原来从高位到低位的顺序组成一个新数。
时间: 2024-05-05 15:16:30 浏览: 97
```c
#include <stdio.h>
int main()
{
int num, new_num = 0, digit, power = 1;
printf("请输入一个整数:");
scanf("%d", &num);
while (num > 0)
{
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;
}
```
相关问题
设计程序sy3-2.c,计算并输出给定整数n的所有因子(不包括1与自身)之和。
```c
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个整数n:");
scanf("%d", &n);
for (int i = 2; i < n; i++) {
if (n % i == 0) { // 判断i是否为n的因子
sum += i; // 累加因子
}
}
printf("%d的所有因子之和为:%d\n", n, sum);
return 0;
}
```
编写程序sy3.py,输入n个正整数,输出其中的最大值和最小
以下是符合要求的 Python 代码:
```python
n = int(input("请输入正整数个数:"))
num_list = []
for i in range(n):
num = int(input("请输入第%d个正整数:" % (i + 1)))
num_list.append(num)
max_num = max(num_list)
min_num = min(num_list)
print("最大值为:%d,最小值为:%d" % (max_num, min_num))
```
代码解释:
1. 首先通过 `int(input())` 输入一个正整数 `n`,表示要输入的数的个数;
2. 然后定义一个空列表 `num_list`,用于存储输入的正整数;
3. 通过 `for` 循环,循环 `n` 次,每次输入一个正整数,并将其添加到 `num_list` 中;
4. 使用内置函数 `max()` 和 `min()` 分别求出最大值和最小值;
5. 最后使用字符串格式化输出结果。
注意:本程序中未对输入进行错误处理,请确保输入的是正整数,否则可能会出现异常。
阅读全文