Программа по вычислению сходящегося ряда выдает ошибку и закрывается - C (СИ)
Формулировка задачи:
// r9d.cpp: определяет точку входа для консольного приложения.
// программа по вычислению сходящегося ряда (-1)^n*x^(2*n)/(2n-1)!
#include "stdafx.h"
long fact(int n);
double pow(int a, int b);
double r9d(double f, int n);
double x, result;
int e;
int _tmain(int argc, _TCHAR* argv[])
{ printf ("input x\n");
scanf ("%lf", x);
printf ("input count of N\n)");
scanf ("%l\n", e);
result=r9d(x,e);
printf("summ=%.6lf",result);
getch();
return 0;
}
long fact(int n) //n!
{
if (n<=1) return 1;
return n*fact(n-1);
}
double pow(int a, int b) // a^b
{ int k, p=1;
for (k=1; k<=b; k++)
p=p*a;
return p;
}
double r9d(double f, int n) //сумма (-1)^n*x^(2*n)/(2n-1)!
{ static double a=0;
if (n<=1) return 1;
a=pow(-1,n)*pow(f,2*n)/fact(2*n-1)+r9d(f, n-1);
return a;
}Решение задачи: «Программа по вычислению сходящегося ряда выдает ошибку и закрывается»
textual
Листинг программы
scanf( "%lf", &x );
Объяснение кода листинга программы
- Ввод значения переменной
xс помощью функции scanf() - Значение переменной
xсохраняется в памяти компьютера и может быть использовано в дальнейшем коде