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;

}

 

posted on 2013-03-26 09:34  Fray  阅读(170)  评论(0编辑  收藏  举报

导航