Loops.c,RUN
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
//Loops
//实现函数:
//sin(x)=x/1! - (x^3)/3! + (x^5)/5! - (x^7)/7! + …
//其中|x|<1,且最后一项精度不低于0.000001
//用for循环
double _sin(double x)
{
double sum = 0.0;
double precision = 0.000001;
double item = x / 1.0;
for (int i = 1; fabs(item) >= precision; i++)
{
sum = sum + item;
item = -1.0 * item * x * x / (2 * i) / (2 * i + 1);
}
return sum;
}
//圆周率PI
//PI / 4 = 1 - 1 / 3 + 1 / 5 - 1 / 7 + .....,
//最后一项绝对值不小于0.000001,不过结果收敛并不好
//用do while循环
double PI()
{
double sum = 0.0;
double precision = 0.000001;
int k = 0;
int sign = 1;
double item = 1;
do{
sum += item;
k++, sign *= -1;
item = sign * 1.0 / (2 * k + 1);
} while (fabs(item) >= precision);
return sum * 4.0;
}
int main()
{
double res = _sin(3.1415926 / 2);
double pi = PI();
return 0;
}