Нахождение суммы всех непарных чисел в диапазоне от 1 до 99 включительно - C (СИ)

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

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

с помощью рекурсивной функции составить программу нахождения суммы всех непарных чисел в диапазоне от 1 до 99 включительно. Помогите пожалуйста Вот как я решала:
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. double fn(int sum, int a)
  4. sum=0;
  5. a=1;
  6. while(a<100)
  7. {sum=sum+a;
  8. a=a+2;
  9. return fn(sum+a);
  10. }
  11. int main()
  12. {
  13. printf("sum=%d",sum);
  14. _getch();
  15. return 0;
  16. }
В чём ошибка?

Решение задачи: «Нахождение суммы всех непарных чисел в диапазоне от 1 до 99 включительно»

textual
Листинг программы
  1. #include <stdio.h>
  2.  
  3. double fn(int a, int b)
  4. {
  5.     return b > a ? b + fn(a, b - 2) : 1;
  6. }
  7.  
  8. int main()
  9. {
  10.     double sum = fn(1, 99);
  11.     printf("sum=%lf",sum);
  12.     getchar();
  13.     return 0;
  14. }

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

В данном коде реализована рекурсивная функция fn, которая принимает два аргумента типа int - a и b. Если b больше a, то функция вызывает саму себя, передавая в качестве аргументов a и b - 2, и возвращает результат сложения b и полученного при рекурсивном вызове значения. Если b меньше или равно a, то функция возвращает единицу. В функции main создаётся переменная sum, которая инициализируется значением, полученным при вызове функции fn с аргументами 1 и 99. Затем на экран выводится сообщение с значением переменной sum. Код выполняет следующие действия:

  1. Рекурсивный вызов функции fn с аргументами 1 и 99.
  2. Результат рекурсивного вызова сохраняется в переменной sum.
  3. Вывод на экран значения переменной sum.

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


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

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

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы