Вычислить значение выражения - C (СИ) (70796)
Формулировка задачи:
Здравствуйте! Пожалуйста, помогите кодом или советом - для допуска к экзамену выдали кучу задач. Сам я новичок, пока плохо разбираюсь...
Вычислить значение выражения:
(cos1/sin1)*((cos1+cos2)/(sin1+sin2))*...*((cos1+...+cosn)/(sin1+...+sinn)).
Решение задачи: «Вычислить значение выражения»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- float func(int n) {
- float result = 1;
- float num = 0;
- float denom = 0;
- for (int i = 1; i <= n; i++) {
- num += cos((float) i);
- denom += sin((float) i);
- result *= num / denom;
- }
- return result;
- }
- int main () {
- int n;
- printf("Введите n\n");
- scanf("%d", &n);
- float result = func(n);
- printf("Значение выражения: %f", result);
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с плавающей точкой и вводом-выводом
- Определение функции с именем func, которая принимает целочисленный аргумент n
- Внутри функции объявлены три переменные: result, num и denom, которые будут использоваться для хранения результата, числителя и знаменателя соответственно
- Задается начальное значение result равное 1
- В цикле от 1 до n с шагом 1 выполняются следующие действия:
- Значение i преобразуется в тип float
- Значение cos(i) добавляется к num, а значение sin(i) к denom
- Результат умножается на num и делится на denom, затем присваивается переменной result
- Функция func возвращает значение result
- В функции main происходит запрос на ввод значения n с помощью функции scanf
- Вызывается функция func с переданным значением n
- Результат вычислений выводится на экран с помощью функции printf
- Программа завершается возвратом 0, что означает успешное выполнение
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д