Вычислить значение функции Sin(x) разложением в ряд - C (СИ)

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

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

Дан y=x-x^3/3!+x^5/5!... Мы вводим только x и n. Программа работает неправильно помогите исправить. Так же нужно проверить чтобы при x=6.28 она работала верно Вот код:
Листинг программы
  1. #include <math.h>
  2. #include <stdio.h>
  3. main() {
  4. float x,t,s;
  5. int i,n;
  6. printf("\n x=");
  7. scanf("%f", &x);
  8. printf("\n n=");
  9. scanf("%d", &n);
  10. t=x;
  11. s=t;
  12. for (i=1; i<=n; i++);
  13. {
  14. t*=(-t)*x*x/(2*n)/(2*n+1);
  15. s+=t;
  16. }
  17. printf( "\n%3f",s);
  18. printf( "\n%3f",sin(x));
  19. return 0;
  20. }

Решение задачи: «Вычислить значение функции Sin(x) разложением в ряд»

textual
Листинг программы
  1. #include <math.h>
  2. #include <stdio.h>
  3.  
  4. int  main()
  5. {
  6.    float x,t,s;
  7.    int i,n;
  8.    printf("x=");
  9.    scanf("%f", &x);
  10.    printf("n=");
  11.    scanf("%d", &n);
  12.    t=x;
  13.    s=t;
  14.    for (i=1; i<=n; i++)
  15.    {
  16.      t*=(-x*x/((2*i)*(2*i+1)));
  17.      s+=t;
  18.    }
  19.    printf( "%3f\n",s);
  20.    printf( "%3f\n",sin(x));
  21.    printf("\n");
  22.    system("pause");
  23.  
  24. return 0;
  25.  
  26. }

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

  1. Подключение необходимых библиотек для работы с математикой и вводом-выводом

    include

    include

  2. Объявление переменных: x - значение аргумента функции sin, t - временная переменная, s - накопитель суммы int main() { float x,t,s; int i,n;
  3. Ввод значения аргумента функции sin и количества разрядов для вычисления printf(x=); scanf(%f, &x); printf(n=); scanf(%d, &n);
  4. Инициализация временной переменной t значением аргумента x t=x;
  5. Инициализация накопителя суммы s значением временной переменной t s=t;
  6. Цикл вычисления суммы разложений синуса от x в ряд for (i=1; i<=n; i++) { t=(-xx/((2i)(2*i+1))); s+=t; }
  7. Вывод значения накопителя суммы s на экран printf( %3f\n,s);
  8. Вывод значения функции sin(x) на экран printf( %3f\n,sin(x));
  9. Вывод символа новой строки printf(\n);
  10. Пауза перед завершением программы system(pause);
  11. Конец программы return 0; }

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


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

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

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

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

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

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