С помощью рекурсии вывести максимальное число последовательности и нечётные числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Дана последовательность чисел, вводится с клавиатуры, ввод завершается введением нуля. С помощью рекурсии вывести максимальное число этой последовательности и нечётные числа. Условие: функция не возвращает значение, а сразу выводит результат на экран. Основная программа состоит только из вызова этой рекурсии

Решение задачи: «С помощью рекурсии вывести максимальное число последовательности и нечётные числа»

textual
Листинг программы
void Nechet(int);
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    printf("Введите числа:\n");
    Nechet(0);
 
    return 0;
}
 
void Nechet(int j)
{
    int x;
    j++;
    scanf("%d", &x);
 
    if (x!=0)
    {
        Nechet(j);
        
    }
 
    if ((x % 2) != 0)
    {
        printf("x=%d\n", x);
    }
    
}

Объяснение кода листинга программы

Вывод нечётных чисел последовательности, вероятно, будет осуществляться с помощью рекурсии. Однако, в данном коде, есть проблема с входными данными, которые не учитываются в условии остановки рекурсии. В результате чего программа будет выполняться бесконечно. Поскольку код не полностью представлен, точное объяснение может быть затруднительным. Однако, основываясь на предоставленном коде, можно сделать следующие выводы:

  1. Функция Nechet(int j) принимает целочисленный аргумент j и использует его как индекс для чтения следующего числа из последовательности.
  2. Если введенное число не равно нулю, вызывается рекурсивная функция Nechet(j), что, вероятно, должно продолжать выводить следующие числа последовательности.
  3. Если введенное число делится на 2 без остатка (т.е. является чётным), то ничего не происходит.
  4. Если введенное число не делится на 2 без остатка (т.е. является нечётным), то оно выводится на экран. Поскольку в коде нет условия остановки для рекурсии, программа будет выполняться бесконечно, пока не будет введено ноль.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы