浙大版《C语言程序设计(第3版)》题目集
习题5-3 使用函数计算两点间的距离 (10 分)
本题要求实现一个函数,对给定平面任意两点坐标(x1,y1)和(x2,y2),求这两点之间的距离。
函数接口定义:
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;
}
/* 你的代码将被嵌在这里 */
输入样例1:
10 10 200 100
输出样例1:
dist = 210.24
二、题解
D i s t = ( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 Dist = \sqrt(x_1 - x_2)^2 + (y_1 - y_2)^2 Dist=(x1−x2)2+(y1−y2)2
c代码
double dist( double x1, double y1, double x2, double y2 ) {
return sqrt( (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2) );
}