Создание функции, которая удаляет входную цифру из большего числа в c - PullRequest
0 голосов
/ 12 января 2019

Я пытаюсь написать функцию в c с небольшим успехом.

Функция должна быть рекурсивной и принимать 2 целых числа - натуральное число и одну цифру в C

Функция удаляет введенную цифру из натурального числа без изменения ее порядка.

Например:

если моя цифра = 5, а моя цифра = 512556915

функция вернет число = 12691, удалив из него все 5 без изменения порядка других цифр.

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Если вы хотите рекурсивную функцию, найдите пример ниже.

Который вызывает функцию рекурсивно до тех пор, пока число не станет 0, и не добавляет напоминание.

int removeNum(int num, int digit)
{
    if (num == 0) return 0;


    int result = removeNum(num/10,digit);

    if (num%10 != digit)
    result = 10*result + (num%10);

    return result; 

}
0 голосов
/ 12 января 2019

Вы можете попытаться преобразовать int в char* с помощью функции itoa(), удалить из нее все 5 цифр и преобразовать ее в int с помощью функции atoi().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...