Вычислить значение функции Sin(x) разложением в ряд - C (СИ)
Формулировка задачи:
Дан y=x-x^3/3!+x^5/5!...
Мы вводим только x и n.
Программа работает неправильно помогите исправить.
Так же нужно проверить чтобы при x=6.28 она работала верно
Вот код:
Листинг программы
- #include <math.h>
- #include <stdio.h>
- main() {
- float x,t,s;
- int i,n;
- printf("\n x=");
- scanf("%f", &x);
- printf("\n n=");
- scanf("%d", &n);
- t=x;
- s=t;
- for (i=1; i<=n; i++);
- {
- t*=(-t)*x*x/(2*n)/(2*n+1);
- s+=t;
- }
- printf( "\n%3f",s);
- printf( "\n%3f",sin(x));
- return 0;
- }
Решение задачи: «Вычислить значение функции Sin(x) разложением в ряд»
textual
Листинг программы
- #include <math.h>
- #include <stdio.h>
- int main()
- {
- float x,t,s;
- int i,n;
- printf("x=");
- scanf("%f", &x);
- printf("n=");
- scanf("%d", &n);
- t=x;
- s=t;
- for (i=1; i<=n; i++)
- {
- t*=(-x*x/((2*i)*(2*i+1)));
- s+=t;
- }
- printf( "%3f\n",s);
- printf( "%3f\n",sin(x));
- printf("\n");
- system("pause");
- return 0;
- }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с математикой и вводом-выводом
include
include
- Объявление переменных: x - значение аргумента функции sin, t - временная переменная, s - накопитель суммы int main() { float x,t,s; int i,n;
- Ввод значения аргумента функции sin и количества разрядов для вычисления
printf(
x=
); scanf(%f
, &x); printf(n=
); scanf(%d
, &n); - Инициализация временной переменной t значением аргумента x t=x;
- Инициализация накопителя суммы s значением временной переменной t s=t;
- Цикл вычисления суммы разложений синуса от x в ряд for (i=1; i<=n; i++) { t=(-xx/((2i)(2*i+1))); s+=t; }
- Вывод значения накопителя суммы s на экран
printf(
%3f\n
,s); - Вывод значения функции sin(x) на экран
printf(
%3f\n
,sin(x)); - Вывод символа новой строки
printf(
\n
); - Пауза перед завершением программы
system(
pause
); - Конец программы return 0; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д