29-语言入门-29-两点距离

来源:互联网 发布:中国数据库排名 编辑:程序博客网 时间:2024/05/22 02:17

题目地址: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=101

描述
输入两点坐标(X1,Y1),(X2,Y2)(0<=x1,x2,y1,y2<=1000),计算并输出两点间的距离。
输入
第一行输入一个整数n(0<n<=1000),表示有n组测试数据;
随后每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。
输出
对于每组输入数据,输出一行,结果保留两位小数。
样例输入
2
0 0 0 1
0 1 1 0
样例输出
1.00

1.41

代码:

#include <stdio.h>
#include <math.h>
//计算两点间的距离并打印结果
static void printLen(double x1,double y1,double x2,double y2);
int main()
{
int readLen = 0;
scanf("%d",&readLen);
getchar();
while(readLen>0)
    {
double x1,y1,x2,y2;
scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2);
getchar();
printLen(x1,y1,x2,y2);
        --readLen;
    }
return 0;
}
//计算两点间的距离并打印结果
static void printLen(double x1,double y1,double x2,double y2)
{
double result = sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
printf("%.2f\n",result);

}

本题最大的失误是:题目要求输入的坐标是实数,而给出的值确实整数,导致写代码的时候,输入的数据都按照int取值了。

崩溃,崩溃,欲哭无泪……

0 0
原创粉丝点击