利用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定义成doubl...
利用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 <stdio.h>#include <stdlib.h>
#include <math.h>
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 定义成double
输入要求:无
输出要求:""pi = %f\ncount = %d\n""
Input sample:
Output Sample:
pi = 3.141793
count = 5001
c语言编程
我编的为
#include <stdio.h>#include <stdlib.h>
#include <math.h>
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呢 展开
展开全部
}while ((1/a)>1e-4); a=a-1;
这一行需要小小的修改一下,改为:
}while ((1.0/a)>1e-4); a=a-1;
看到区别了吗,1修改为1.0,因为a是整数类型,那么1/a就是整除,a大于1的结果就为0,循环就退出了。改为1.0后就是小数,才满足我们的要求。
这一行需要小小的修改一下,改为:
}while ((1.0/a)>1e-4); a=a-1;
看到区别了吗,1修改为1.0,因为a是整数类型,那么1/a就是整除,a大于1的结果就为0,循环就退出了。改为1.0后就是小数,才满足我们的要求。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好、我来为你解答:
#include<stdio.h>
main()
{
double pi=0,i=1,j=1,x;
do{
x=j/i;
j=-j;
i+=2;
pi+=x;
}while(i<8000);
pi*=4;
printf("%lf\n",pi);
}
#include<stdio.h>
main()
{
double pi=0,i=1,j=1,x;
do{
x=j/i;
j=-j;
i+=2;
pi+=x;
}while(i<8000);
pi*=4;
printf("%lf\n",pi);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询