C语言编写函数fun,其功能是:输入一个正整数,将其每一位上为偶数的数取出重新构成一个新数并输出。主函数负责输入输出,如输入87653142,则输出8642。(main函数fun函数)
时间: 2024-03-03 18:51:11 浏览: 27
好的,这是一道简单的编程题目,以下是 C 语言的实现代码:
```
#include <stdio.h>
int fun(int n) {
int new_num = 0; // 重新构成的新数
int base = 1; // 用于计算每一位的权值,初始化为 1
while (n > 0) {
int digit = n % 10; // 取出当前位的数字
if (digit % 2 == 0) {
new_num += digit * base; // 如果是偶数,加入到新数中
base *= 10; // 更新权值
}
n /= 10; // 继续处理下一位
}
return new_num;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
int new_num = fun(n);
printf("构成的新数为:%d\n", new_num);
return 0;
}
```
函数 `fun` 的实现思路是:从低位到高位依次取出每一位的数字,如果是偶数就加入到新数中,最后返回新数。在主函数中,先输入一个正整数,然后调用 `fun` 函数得到新数,并输出结果。注意,为了方便起见,这里假设输入的正整数中至少有一个偶数位。
相关问题
用c语言编写函数fun其功能是:从键盘输入1个整数x,输出该数的逆序数。
好的,这是一道关于C语言编写函数的问题。可以使用while循环或者递归的方式来倒序输出整数的每一位。以下是一个可能的实现:
```c
void fun()
{
int x, rev = 0;
printf("请输入一个整数x:");
scanf("%d", &x);
while(x != 0)
{
rev = rev * 10 + x % 10;
x /= 10;
}
printf("该数的逆序数为:%d", rev);
}
```
希望这个答案对你有所帮助!
c语言编写一个函数fun,然后设计主函数调用函数fun。函数fun的功能是:计算正整数 num的各位上的数字之积
好的,下面是你所要求的C语言代码:
```c
#include <stdio.h>
int fun(int num) {
int product = 1;
while (num > 0) {
int digit = num % 10;
product *= digit;
num /= 10;
}
return product;
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
int result = fun(num);
printf("数字各位上的数字之积为:%d\n", result);
return 0;
}
```
在这段代码中,我们首先定义了一个函数`fun`,该函数接受一个正整数`num`作为参数。在函数内部,我们使用循环从`num`的个位开始逐位取出数字,并将其乘积保存在变量`product`中。
然后,在`main`函数中,我们首先读取用户输入的正整数存储在变量`num`中,然后调用函数`fun`计算各位数字之积,并将结果打印输出。
注意,以上代码仅计算正整数各位数字之积,不考虑负数或小数的情况。