这道题的难点在于如何将上式表达出来,
我们观察这个式子可以得到,后面一项比前面一项多乘了一个i/(2*i+),因此采取for循环语句可以自然而然将这个式子的每一项都表达出来。
#include <stdio.h>
int main() {
double eps, sum = 1.0, num = 1, i;
scanf_s("%le", &eps);
for (i = 1; num > eps; i++) {
num = num * i / (i * 2 + 1);
sum += num;
}
printf("PI = %0.5f", sum * 2);
return 0;
}//此代码原作者为慕逸雪所有,本人学习借鉴
我们可以对于类似和式总结规律,
如何用循环语句将有规律的何时表达出来:
1.首先分析前一项和后一项的关系,多了什么,少了什么
2.用a[后一项]=a【前一项】*[多的东西或少的东西];
3.sum + = a;
btw:%.xf 小数点几位打印