一段C语言程序,关于绝对值abs#include #include double fun(){double x0,x1;x1=0.0;do{x0=x1;x1=cos(x0);}while(fabs(x1-x0)>=1e-6);return x1;}main(){void NONO ( );printf("Root =%f\n",fun());NONO();}这段程序的while(fabs(x1-x0)>=1e-6);语句,
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 23:36:50
一段C语言程序,关于绝对值abs#include #include double fun(){double x0,x1;x1=0.0;do{x0=x1;x1=cos(x0);}while(fabs(x1-x0)>=1e-6);return x1;}main(){void NONO ( );printf("Root =%f\n",fun());NONO();}这段程序的while(fabs(x1-x0)>=1e-6);语句,
一段C语言程序,关于绝对值abs
#include
#include
double fun()
{
double x0,x1;
x1=0.0;
do
{
x0=x1;
x1=cos(x0);
}while(fabs(x1-x0)>=1e-6);
return x1;
}
main()
{
void NONO ( );
printf("Root =%f\n",fun());
NONO();
}
这段程序的while(fabs(x1-x0)>=1e-6);语句,为什么去掉fabs后结果不一样,还有,绝对值符号不是abs吗?为什么前面加了一个f?我不懂.
一段C语言程序,关于绝对值abs#include #include double fun(){double x0,x1;x1=0.0;do{x0=x1;x1=cos(x0);}while(fabs(x1-x0)>=1e-6);return x1;}main(){void NONO ( );printf("Root =%f\n",fun());NONO();}这段程序的while(fabs(x1-x0)>=1e-6);语句,
abs是对整型的取绝对值,fabs才是对浮点型的取绝对值
去掉fabs以后原式相当于while(x1-x0>=1e-6)
加上fabs以后原式相当于while((x1-x0)>=1e-6) || (x1-x0)
这个是用来求浮点型的绝对值的函数, 因为浮点型的数据在计算机里存储方式的关系, 所以如果用abs求出来的数据是你意料之外的.函数里的x1和x0是浮点型数据,所以就用这个了.