c语言数学函数头文件#include<math.h>使用问题,运行后输入数据d2怎么一直是2.000000

#include<stdio.h>
#include<math.h>
int main()
{
float x1=2,y1=2,x,y,d1,d2,d3,d4,h,r=1;
scanf("%f,%f\n",&x,&y);
x=fabs(x);
y=fabs(y);
d1=fabs(x-x1);
d2=fabs(y-y1);
printf("%f\n",d2);

}

d2是float类型啊,而且你是以%f输出的,当然就是2.000000咯,你可以输出printf("%d\n",d2); 就可以了追问

这个我是知道的,我的意思是我输入任何的y值,计算出来的d2怎么都等于2,试了很多数值

追答

你是怎么样输入数据的?首先去掉输入格式的那个回车符scanf("%f,%f\n",&x,&y);,输入数据的格式是这样的12,13 然后敲回车,我怀疑是你输入方式不对。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-10
scanf("%f,%f\n",&x,&y);//去掉那个回车符

追问

如何修改?去掉\n结果还是2.000000

第2个回答  2013-05-10
因为x默认为0,则你的d2=(0-2)的绝对值,所以结果为它!追问

如何修改啊,谢谢

追答

关键是你的目的是什么?

相似回答