Вычислить числовой ряд - формат вывода - C (СИ)
Формулировка задачи:
IDE Pelles C, задание :
Вычислить сумму ряда (приближенное значение функции arctg для |x|<1) с точностью eps. Значения x и eps вводятся с клавиатуры. Полученный результат и значение библиотечной функции arctg вывести на экран.
- собсно ряд.
Вопрос заключается в следующем: мне нужно, например, вывести результат 0,12345678 с точностью 0,00001, т.е. 0,12346. У меня же получается 0,123460. А если с точностью 0,0000001 - имеем 0,123457. Как-то так, криво у меня округление работает. В общем помогите нормальный вывод сделать.
И еще - что за "значение библиотечной функции arctg "? Это просто вывести значение арктангенса введенного числа?
О блин еще и ошибка - i с нуля же, а у меня с 1 о_О
#include<stdio.h> #include<math.h> int main (int argc, char *argv[]) { int i; double arctg,a,x,t,eps; printf("vvedite x,eps\n"); scanf("%lf %lf", &x,&eps); if (x>1 || x<-1) {puts("Enter -1<x<1"); return 0; } else { arctg=0; i=1; double _arctg=(x*x*x)/3; while (labs(arctg-_arctg)>eps) { arctg=_arctg; i=i+1; t=t*x*x; if(i&1) _arctg=_arctg-(t/(2*i+1)); else _arctg=_arctg+(t/(2*i+1)); } } arctg=floor(arctg/eps)*eps; printf("Znachenie funkcii = %lf\n", arctg); return 0; }
Решение задачи: «Вычислить числовой ряд - формат вывода»
textual
Листинг программы
printf("Znachenie funkcii = %lf\n", arctg);
Объяснение кода листинга программы
Код представлен одним предложением и выполняет следующие действия:
- Выводит значение функции
arctg
в формате double с использованием функцииprintf
. - В качестве первого аргумента
printf
используется строка форматирования%lf
, которая указывает на то, что нужно вывести значение переменной типа double. - В качестве второго аргумента
printf
используется значение переменнойarctg
, которая содержит результат вычисления функцииarctg
. - Выводится результат вычисления функции
arctg
на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д