永发信息网

为什么进不了for循环,得到的结果总是0? 求大神指教啊!!

答案:2  悬赏:0  手机版
解决时间 2021-02-11 18:32
#include
#include
using namespace std;
int main()
{
double a=0,pi=0,u=1.0;
int n=1,s=1;
cin>>a;
for(;fabs(u)<=a;)
{
pi=pi+s*u;
n=n+2;
s=-s;
u=1.0/n;
}
cout<<4*pi< return 0;
}
最佳答案
你这个程序有问题,循环条件fabs(u)<=a,就是说只有这个条件成立,才能进入循环。
u=1,那a一定要输入一个大于1的数,才能进入循环。
可是如果a大于1的话,循环体中的u是越来越小的,于是成了死循环,再也不能退出了。

建议把这个改成大于号,然后在输入a时候输入一个小于1的数,比如0.0000001,这样会循环一段时间以后u
全部回答
  • 1楼网友:玩世
  • 2021-02-10 20:45
v$s就是tuple_string这个算子,$后面表示转换的格式,‘02’大概就将i转换为两位,左侧补零。在hdevelop user's guide->chapter 7 hdevelop language->7.9 summary of hdevelop operations中你可以找到所有运算对应的算子,查看相应的算子就知道这些符号是什么意思了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯