首页 > IT > it

C语言入门实战:求平面上任意两点之间的距离

2023-02-15
字号:

这是《C语言入门实战》系列的第2篇。
上一篇:C语言入门实战:准备开发环境、快速上手main()函数
下一篇:C语言入门实战:秒数转换为时:分:秒


文章目录
      • 题目
      • 提示
      • 参考代码
      • 代码复盘

题目

求平面上任意两点之间的距离。
设这两个点的坐标分别为 P 1 ( x 1 , y 1 ) 、 P 2 ( x 2 , y 2 ) P1(x1,y1)、P2(x2,y2) P1(x1,y1)、P2(x2,y2) ,两点距离计算公式为:
∣ P 1 P 2 ∣ = ( x 2 ? x 1 ) 2 + ( y 2 ? y 1 ) 2 left | P_1P_2right | = sqrt{(x_2-x_1)^2 + (y_2-y_1)^2} ∣P1?P2?∣=(x2x1?)2+(y2y1?)2 ?
程序运行时依次输入 x 1 , y 1 , x 2 , y 2 x1,y1,x2,y2 x1,y1,x2,y2 的值,计算并输出两点距离,计算结果保留2位小数。

提示

在C语言中求平方根的函数是 s q r t ( x ) sqrt(x) sqrt(x) ,程序中需要要调用该函数,在程序开头加上头文件#include
输入输出格式示例:

输入:2 3 8.1 6<回车>
输出:6.80

注意:要求编写顺序结构程序。

参考代码
#include 
#include 
#include 

 
float distance(float x1, float y1, float x2, float y2) {
	float dx = x2 - x1;
	float dy = y2 - y1;
	return sqrt(dx*dx + dy*dy);
}

//程序入口,主函数
int main() {
	// 先在栈内存中定义4个浮点数 
	float x1,y1,x2,y2;
	// 从标准输入(键盘)读取4个float值 
	scanf("%f %f %f %f", &x1,&y1,&x2,&y2);
	// 调用自己写的distance()函数,计算距离 
	float dist = distance(x1, y1, x2, y2);
	// 将浮点数dist输出到标准输出设备(屏幕)上
	// .2f表示,以浮点数格式,小数点后面保留2位小数 
	printf("%.2f", dist);
	return 0;
}
代码复盘

float浮点数,可以理解为带小数点的小数(区别于整数),在输入/打印格式中以%f进行标记。
scanf是stdio.h头文件中声明的函数,用于从标准输入(通常是键盘)按指定格式接收输入内容。

今日热点

大家都在看