c语言问题 #include <stdio.h> #include <math.h> main() {
#include<stdio.h>#include<math.h>main(){floatx,y,z;scanf("%f%f",&x,&y);z=x/y;while(1)...
#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\n",y);
}
解释一下步骤 展开
#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\n",y);
}
解释一下步骤 展开
2个回答
展开全部
追问
没有突出重点,
if (fabs(z)>1.0){x=y;y=z;z=x/y;}是什么,还有fabs函数的功能。
输入3.6 2.4得到1.600000为什么
追答
噢 这里啊
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
就是这样
这个 有题目么? 它的数学意义还真看不出来
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询