利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/24 00:17:54
![利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的](/uploads/image/z/764280-0-0.jpg?t=%E5%88%A9%E7%94%A8pi%2F4+%3D+1+-+1%2F3+%2B+1%2F5+-+1%2F7+%2B+...%2C%E7%BC%96%E7%A8%8B%E8%AE%A1%E7%AE%97pi%E7%9A%84%E8%BF%91%E4%BC%BC%E5%80%BC%2C%E7%9B%B4%E5%88%B0%E6%9C%80%E5%90%8E%E4%B8%80%E9%A1%B9%E7%9A%84%E7%BB%9D%E5%AF%B9%E5%80%BC%E5%B0%8F%E4%BA%8E10-4%E4%B8%BA%E6%AD%A2%2C%E8%BE%93%E5%87%BApi%E7%9A%84%E5%88%A9%E7%94%A8pi%2F4+%3D+1+-+1%2F3+%2B+1%2F5+-+1%2F7+%2B+...%2C%E7%BC%96%E7%A8%8B%E8%AE%A1%E7%AE%97pi%E7%9A%84%E8%BF%91%E4%BC%BC%E5%80%BC%2C%E7%9B%B4%E5%88%B0%E6%9C%80%E5%90%8E%E4%B8%80%E9%A1%B9%E7%9A%84%E7%BB%9D%E5%AF%B9%E5%80%BC%E5%B0%8F%E4%BA%8E10-4%E4%B8%BA%E6%AD%A2%2C%E8%BE%93%E5%87%BApi%E7%9A%84)
利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的
利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的
利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的值并统计累加的项数.
友情提示:pi 定义成double
输入要求:无
输出要求:""pi = %f\ncount = %d\n""
Input sample:
Output Sample:
pi = 3.141793
count = 5001
c语言编程
我编的为
#include #include
#include
int main(){
int a;
double pi;
a=1;
pi=0;
do
{
if (a%2!=0)
{
pi=pi+1/(2*a-1);
a++;
}
else
{
pi=pi-1/(2*a-1);
a++;
}
}while ((1/a)>1e-4); a=a-1;
printf("pi = %f\ncount = %d\n",pi,a);
return 0;
}
为什么输出pi=1.000000
count=1呢
利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的利用pi/4 = 1 - 1/3 + 1/5 - 1/7 + ...,编程计算pi的近似值,直到最后一项的绝对值小于10-4为止,输出pi的
你的问题主要是类型的问题.
因为a 是int型的,你在计算的时候不转型成浮点型是不对的(1/a=0)
因此你要写成:
pi=pi+1.0/(2*a-1);
pi=pi-1.0/(2*a-1);
还有判断条件:
while ((1.0/a)>1e-4);
另外,你注意了没有这个公式是pi/4所以为了得到要求的输出,你要写:
printf("pi = %f\ncount = %d\n",pi*4,a);