菁菁 发表于 2013-12-4 21:06:41

新手求帮助

#include<stdio.h>
int main()
{
float x1, y1,x2,y2,h;
    scanf("x1=%lf,y1=%lf,x2=%lf,y2=%lf",&x1,&y1,&x2,&y2);
h=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    printf("2点之间的距离h=%f",h);
}
我这段代码哪里有问题问题是求2点的距离

北林之中 发表于 2013-12-4 22:56:09

两个问题,第一个没加math.h头文件,编译过不了。第二个问题是使用scanf函数式,附加格式说明类型是double类型,而变量是float类型,这样不仅得不到正确的值,还会使程序运行到最后报错,需改为%f,scanf和printf函数使用时,最好对应变量的类型使用相应的格式,否则很容易出错。

牡丹花下死做鬼 发表于 2013-12-5 08:08:43

sprt()需要math.h 还有你定义的是float 就应该用%f 而不是 %lf
页: [1]
查看完整版本: 新手求帮助