当前位置: 代码迷 >> C语言 >> [求助]关于fabs或是强制类型转换的问题!
  详细解决方案

[求助]关于fabs或是强制类型转换的问题!

热度:369   发布时间:2006-09-27 22:17:15.0
[求助]关于fabs或是强制类型转换的问题!
main()
{
float x,y,x3,y3,n,t,x1=10.0,y1=10.0,x2=100.0,y2=100.0; int color=1;
x3=x2-x1; y3=y2-y1;
n=fabs((int)x3); t=fabs((int)y3);
printf("n=%f,t=%f\n",n,t);
if(t>n) n=t;
if(n!=0.0) {x=x3/n;y=y3/n;}
x3=(int)(x1+0.5); y3=(int)(y1+0.5);
x2=(int)(x2+0.5); y2=(int)(y2+0.5);
n=fabs(x3-x2); t=fabs(y3-y2);
printf("n=%f,t=%f\n",n,t);
n=fabs((int)(x3-x2)); t=fabs((int)(y3-y2));
printf("n=%f,t=%f\n",n,t);
}


这是程序的一个片断,我的本意是想让红色的那两个输出语句的n=90.000000,试了这两种方法都不行,第一个红色处等于100.000000,第二个红色处又等于-90.000000,
n=fabs(x3-x2); t=fabs(y3-y2);或
n=fabs((int)(x3-x2)); t=fabs((int)(y3-y2));
是哪点有错啊?要想n=90.000000,又该怎么写啊?
搜索更多相关的解决方案: fabs  int  类型  

----------------解决方案--------------------------------------------------------
缺少头文件 #include"stdio.h"#include"math.h"
----------------解决方案--------------------------------------------------------

程序没有错 就是少了头文件 在TC下不会报错 但输出结果就不对了

[此贴子已经被作者于2006-9-27 22:55:31编辑过]


----------------解决方案--------------------------------------------------------
哦,忘了fabs要用头文件,谢谢了~
----------------解决方案--------------------------------------------------------