若运行以下程序时,从键盘输入3.6,2.4,(表示回车),则下面程序的运行结果是:
include <stdio.h> #include <math.h>
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); }
A) 1.5 B)1.6 C) 2.0 D) 2.4
abs是求绝对值
fabs就是求小数的绝对值
x=y;y=z;z=x/y;
这3行貌似什么特殊的数学意义
一起算算吧
x=3.6 y=2.4 z=3.6/2.4=1.5
然后fabs(z)=1.5>1
x=y,x=2.4
y=z,y=1.5
z=x/y=2.4/1.5=1.6
fabs(z)=1.6>1
继续循环
x=y,x=1.5
y=z,y=1.6
z=x/y=1.5/1.6=0.9375
fabs(z)=0.9375
输出y=1.600000