拼题A基础篇32
7-33计算圆周率
#include<stdio.h>
main()
{
double last = 1, a = 1, b = 1, n, sum = 1;
scanf("%lf", &n);
for(int i = 1; last >= n; i++)
{
a = a*i;
b = b*(2*i+1);
last = a / b ;
sum = sum + last;
}
printf("%.6f", sum*2);
return 0;
}
注意
1.题目当中要求是直到最后一项的值小于给定阈值才输出,也就是说for语句的第二个语句判断的应该是最后一项大于等于给定阈值,这时循环都要往下进行,这一点值得注意。
2.其实自己一开始是想用函数做这道题目的,但是发现不用函数也可以做出来,而且其实还挺简单的,所以就用了简单的办法。
3.可以把这道题目和阶乘相加的那道做对比。有相同之处也有不同之处。
心得
也许等有人看到我这条博文的时候,我肯已经不会再为了做这样简单地题目而焦虑了吧。不知道大家怎么样,但是作为我自己来说,自己是一个记忆力很差的人,做事效率很低,别人可能一遍就会的题目自己可能需要做很多遍才会熟练,也时常因为自己的这一点感觉得焦虑与不自信。
但是不论如何,人生都要遵从一个定律,那就是,你的努力早晚都会在那你的身上体现,只是早晚的问题。眼前的你希望看到这篇博文,如果你也在刚开始学C语言的路上,那么我想跟你说,别停下来,坚持就是胜利。