c语言循环函数for
inti;floata,b,c,d,pi;a=1;c=0;b=1;for(d=1;fabs(d)>1e-6;d=a/b){a=(-1)*a;c=c+d;b=b+2;pi=...
int i;
float a,b,c,d,pi;
a=1;
c=0;
b=1;
for (d=1;fabs(d)>1e-6;d=a/b)
{
a=(-1)*a;
c=c+d;
b=b+2;
pi=4*c;
printf("%f\n",pi);
}
getch();
为什么这个程序,只出来7,8个数,执行到大概d=0.07的时候就不继续执行了 展开
float a,b,c,d,pi;
a=1;
c=0;
b=1;
for (d=1;fabs(d)>1e-6;d=a/b)
{
a=(-1)*a;
c=c+d;
b=b+2;
pi=4*c;
printf("%f\n",pi);
}
getch();
为什么这个程序,只出来7,8个数,执行到大概d=0.07的时候就不继续执行了 展开
展开全部
不知道你完整程序是什么 不过就这一段我编译的没问题,要不你就把这个FOR循环 单独拿出来编译 应该没问题
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,d,pi;
a=1;
c=0;
b=1;
for (d=1;fabs(d)>1e-6;d=a/b)
{
a=(-1)*a;
c=c+d;
b=b+2;
pi=4*c;
printf("%f\n",pi);
}
}
我在VC6.0下编译的
满意请采纳
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,d,pi;
a=1;
c=0;
b=1;
for (d=1;fabs(d)>1e-6;d=a/b)
{
a=(-1)*a;
c=c+d;
b=b+2;
pi=4*c;
printf("%f\n",pi);
}
}
我在VC6.0下编译的
满意请采纳
追问
恩,谢谢,我之前是忘了加#include了,不过您能告诉我下为什么不加这个就会出现这个情况吗,我知道math是数学运算库,需要用到乘方根号之类的要加math,不过为什么不加的时候之前几次运行时成功的,到了第8步的时候就不成功了呢?我是刚开始自学c语言,许多不懂得地方,请包涵
追答
fabs(d)>1e-6 绝对值函数要用到math.h啊
2012-05-25
展开全部
试试把c=c+d,放到循环的最上面。。即
for (d=1;fabs(d)>1e-6;d=a/b)
{
c=c+d;
a=(-1)*a;
b=b+2;
pi=4*c;
printf("%f\n",pi);
}
for (d=1;fabs(d)>1e-6;d=a/b)
{
c=c+d;
a=(-1)*a;
b=b+2;
pi=4*c;
printf("%f\n",pi);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为不符合条件了。所以就不继续执行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1e-6这个条件在d=0.07差不多就结束了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-05-26
展开全部
计算机只能显示那么长度的数。你定义的啊,a,b,c都是char型的变量没必要用float
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
程序都不完整
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询