HDU 2001 计算两点间的距离 解题报告
题目http://acm.hdu.edu.cn/showproblem.php?pid=2001
#include <stdio.h> #include <math.h> int main() { double a,b,c,d,sum; while(scanf("%lf%lf%lf%lf",&a,&b,&c,&d)!=EOF) { sum=sqrt((a-b)*(a-b)+(c-d)*(c-d)); printf("%.2lf\n",sum); } return 0; }
这段代码成功的WA了,原因是输入是X1,Y1,X2,Y2,而计算时应该是(X1-X2)*(X1-X2)这样类似的顺序,而不是(X1-Y1)*(X1-Y1)这样的。并且请记住sqrt的原型是double sqrt(double);
#include<stdio.h> #include<math.h> int main() { double a,b,c,d,sum; while(scanf("%lf%lf%lf%lf",&a,&b,&c,&d)!=EOF) { sum=sqrt((a-c)*(a-c)+(b-d)*(b-d)); printf("%.2lf\n",sum); } return 0; }