删除奇数

remove odd numbers

本文关键字:删除      更新时间:2023-10-16

我需要解决此problme"编写一个称为removeCharge的递归函数,该功能接收n号并返回一个仅包含原始数字数字的数字。"我做到了,但是现在我不知道如何在同一函数中显示数字。我该怎么办?

int newNumber=0;
int eliminareCifreImpare(int n){
    if(n==0)
        return 0;
    eliminareCifreImpare(n/10);
    int c=n%10;
    if(c%2==0)
    newNumber=newNumber*10+c;
}

我想您正在使用全局变量,因为您不正确地了解如何从函数返回值。在尝试编写递归函数之前,您需要很好地了解函数如何返回值以及如何使用返回的值。

这是一个工作版本

#include <iostream>
int eliminareCifreImpare(int n) {
    if (n == 0)
        return 0;
    int newNumber = eliminareCifreImpare(n / 10);
    int c = n % 10;
    if (c % 2 == 0)
        newNumber = newNumber * 10 + c;
    return newNumber;
}
int main()
{
    std::cout << eliminareCifreImpare(12345) << std::endl;
}