C語言:使用函式計算兩點間的距離

枕綿發表於2020-12-13

本題要求實現一個函式對給定平面任意兩點座標(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一個新技能,哈哈。ヽ(°▽、°)ノ

相關文章