当前位置: 代码迷 >> C语言 >> [求助]急!小弟做二级遇到难题了!
  详细解决方案

[求助]急!小弟做二级遇到难题了!

热度:103   发布时间:2007-02-05 11:46:35.0
[求助]急!小弟做二级遇到难题了!
若下述程序运行时输入的数据是“3.6,2.4”,则结果为
#include "math.h"
#include "Stdio.h"
void main()
{float x,y,z;
scanf("%f,%f",&x,&y);
z=x/y;
while(1)
{if(fabs(z)>1.0)
{x=y;y=z;
z=x/y;
}
else
break; }
printf("%f",y);

}
小弟的的结果是1.500000,答案是1.600000
大家帮忙解释一下
搜索更多相关的解决方案: 难题  

----------------解决方案--------------------------------------------------------

是1.600000
毛问题
我用TC2.0

----------------解决方案--------------------------------------------------------
以下是引用tetet在2007-2-5 11:46:35的发言:
若下述程序运行时输入的数据是“3.6,2.4”,则结果为
#include "math.h"
#include "Stdio.h"
void main()
{float x,y,z;
scanf("%f,%f",&x,&y);
z=x/y;
while(1)
{if(fabs(z)>1.0)
{x=y;y=z;
z=x/y;
}
else
break; }
printf("%f",y);

}
小弟的的结果是1.500000,答案是1.600000
大家帮忙解释一下

对的.


----------------解决方案--------------------------------------------------------


----------------解决方案--------------------------------------------------------
晕! 我没有用Tc2.0 口算结果 也是 1.600000 啊
循环前:
x=3.6 y=2.4 z=1.5

循环:
一次:x = 2.4 y = 1.5 z = 1.6
二次:x = 1.6 y = 1.6 z = 小于1了

循环后:
结果:y = 1.6

[此贴子已经被作者于2007-2-5 20:18:24编辑过]


----------------解决方案--------------------------------------------------------
是1.6.我们老师之前出过一道一样的题给我们做过.
----------------解决方案--------------------------------------------------------

谢谢各位了,小弟有些明白了


----------------解决方案--------------------------------------------------------
  相关解决方案