计算sinx的值,c语言编程问题

来源:百度知道 编辑:UC知道 时间:2024/06/27 08:52:41
sinx=x-x^3/(3!)+x^5/5-x^7/(7!)+...(-1)^(n)x^(2n-1)/(2n-1)!
做上来者,加15分,好的话可以在加

#include <iostream>
#include <math.h>
#include <conio.h>

int fact(int n) {
if(n == 0) return 1;
return n * fact(n - 1);
}

double mysin(double x) {
const double PRECISION = 100.;
double sum = x, preTerm = x;
for(int i = 1;; i++) {
double currentTerm = (i % 2 == 1 ? -1 : 1) * pow(x, (2 * i + 1)) / fact(2 * i + 1);
sum += currentTerm;
if(fabs(preTerm + currentTerm) * PRECISION > 1.) preTerm = currentTerm;
else break;
}

return sum;
}

int main(int argc, char* argv) {

std::cout << mysin(3.14 / 2) << std::endl << sin(3.14 / 2) << std::endl;

getch();
return 0;
}

#include<iostream.h>
////////////////////////
//计算x^n //
//////////////////////
double fun1(int x,int n)
{ if(n<0)
ex