Функции и рекурсия: вычислить значение составной функции - C (СИ)
Формулировка задачи:
Помогите решить задачку, с использованием операторов ветвления if, if-else и switch.
Вычислить и вывести на экран все значение математической функции F. Вычисление значения функции F необходимо выполнить с использованием функции calculate, в которую передаются четыре параметра: x, a, b, c, которые являются действительными числами и вводятся с клавиатуры. Вывод параметров и результата вычисления функции необходимо вынести в отдельную функцию print.
Решение задачи: «Функции и рекурсия: вычислить значение составной функции»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <math.h>
- unsigned long long fibo (unsigned int n) {
- if (n == 0)
- return 0;
- else if (n == 1)
- return 1;
- else
- return fibo(n - 1) + fibo(n - 2);
- }
- void setval (double* a, double* b, double* c ) {
- *a = rand() % rand() / (double)rand();
- *b = rand() % rand() / (double)rand();
- *c = rand() % rand() / (double)rand();
- }
- double foo (double a, double b, double c, int x ) {
- if (x >= 0 && islessgreater(b, 0.) )
- return (double) fibo(x);
- else if ( !(x % 2) && !islessgreater(b, 0.) )
- return ((double) x - a ) / ((double) x + b );
- else
- return (double) x / fabs(c);
- }
- int main() {
- double a, b, c;
- int x;
- srand(time(0));
- setval(&a, &b, &c);
- for (x = -10; x < 11; ++x)
- fprintf(stdout, "%lf\n", foo(a, b, c, x));
- return 0;
- }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы: stdio.h, stdlib.h, time.h, math.h
- Определяется функция fibo, которая реализует вычисление чисел Фибоначчи с помощью рекурсии.
- Определяется функция setval, которая инициализирует указанные переменные случайными значениями.
- Определяется функция foo, которая реализует вычисление значения составной функции, используя числа Фибоначчи и другие переменные.
- В функции main инициализируются и перемешиваются значения переменных a, b, c с помощью функции setval и генератора случайных чисел.
- С помощью цикла for вычисляются значения функции foo для всех целых значений x от -10 до 10 и выводятся на экран.
- Программа возвращает 0, завершая свою работу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д