do while语句循环
#include
#include
int main()
{
\x09double a,x1,x2;
\x09scanf(%lf,&a);
\x09do
\x09{
\x09\x09x1=a/2;
\x09\x09x2=0.5*(x1+a/x1);
\x09}
\x09while(fabs(x1-x2)>=1e-5);
\x09\x09printf(x=%f,x2);
\x09return 0;
}
这个程序无法执行而下面的程序可以执行,do while循环不是先执行后判断吗?哪里错了?谢谢
#include
#include
int main()
{
\x09double a,x1,x2;
\x09scanf(%lf,&a);
\x09x1=a/2;
\x09\x09x2=0.5*(x1+a/x1);
\x09do
\x09{
\x09\x09x1=x2;
\x09\x09x2=0.5*(x1+a/x1);
\x09}
\x09while(fabs(x1-x2)>=1e-5);
\x09\x09printf(x=%f,x2);
\x09return 0;
}
do while语句循环
答案:1 悬赏:20 手机版
解决时间 2021-08-20 17:24
- 提问者网友:相思似海深
- 2021-08-19 18:13
最佳答案
- 五星知识达人网友:独行浪子会拥风
- 2021-08-19 19:41
do while就是先执行的,只是输入不当会导致死循环吧.
\x09double a,x1,x2;
\x09scanf("%lf",&a);
\x09do
\x09{
\x09\x09x1=a/2; //x1固定为a/2
\x09\x09x2=0.5*(x1+a/x1); //x2固定为a/4 + 1
\x09}
\x09while(fabs(x1-x2)>=1e-5); //x1 - x2固定为fabs(a/4 -1)
\x09\x09printf("x=%f",x2);要想跳出循环,fabs(a/4 -1) < 0.00001,那么a输入4就可以了.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯