Вычислить значение выражения - 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;
}

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

  1. Подключение необходимых библиотек для работы с плавающей точкой и вводом-выводом
  2. Определение функции с именем func, которая принимает целочисленный аргумент n
  3. Внутри функции объявлены три переменные: result, num и denom, которые будут использоваться для хранения результата, числителя и знаменателя соответственно
  4. Задается начальное значение result равное 1
  5. В цикле от 1 до n с шагом 1 выполняются следующие действия:
    1. Значение i преобразуется в тип float
    2. Значение cos(i) добавляется к num, а значение sin(i) к denom
    3. Результат умножается на num и делится на denom, затем присваивается переменной result
  6. Функция func возвращает значение result
  7. В функции main происходит запрос на ввод значения n с помощью функции scanf
  8. Вызывается функция func с переданным значением n
  9. Результат вычислений выводится на экран с помощью функции printf
  10. Программа завершается возвратом 0, что означает успешное выполнение

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


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

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

11   голосов , оценка 3.818 из 5