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

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


题目

求平面上任意两点之间的距离。
设这两个点的坐标分别为 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_2\right | = \sqrt{(x_2-x_1)^2 + (y_2-y_1)^2} P1P2=(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 <math.h>
输入输出格式示例:

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

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

参考代码

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

/** 
程序处理用户的输入,给用户返回处理结果(输出) 
计算坐两点(x1,y1)、(x2,y2)之间的距离,结果保留2位小数 
自己定义的distance函数,有4个输入,通过return返回一个float结果 
*/ 
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进行标记。
scanfstdio.h头文件中声明的函数,用于从标准输入(通常是键盘)按指定格式接收输入内容。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值