本题要求实现一个函数对给定平面任意两点坐标(x​1​​ ,y1)和(x2,y​2),求这两点之间的距离。

函数接口定义:

double dist( double x1, double y1, double x2, double y2 );

其中用户传入的参数为平面上两个点的坐标(x1, y1)和(x2, y2),函数dist应返回两点间的距离。

裁判测试程序样例:

#include <stdio.h>
#include <math.h>

double dist( double x1, double y1, double x2, double y2 );

int main()
{    
    double x1, y1, x2, y2;

    scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2);
    printf("dist = %.2f\n", dist(x1, y1, x2, y2));

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

10 10 200 100

输出样例:

dist = 210.24
double dist( double x1, double y1, double x2, double y2 )
{
    double dist=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
    return dist;
}

这题俺苦思冥想怎么求平方,后来问度娘才知道有个sqrt ()函数是可以直接开方的,而且原来这题目中的裁判测试样例中有暗示啊。。#include <math.h>//sqrt()函数的头文件
然后关于sqrt ()函数的使用问题,一位名为伏城无嗔大哥的博客里写的挺好的,
大概用法就是添加头文件#include <math.h>,然后通过sqrt()函数可以计算一个非负实数的平方根(ps:其只支持double和float类型,所以使用时大多需要强制类型转化)。
Get一个新技能,哈哈。ヽ(°▽、°)ノ

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐