当前位置: 首页 > news >正文

洛谷P5735 【深基7.例1】距离函数 C语言/C++

【深基7.例1】距离函数

题目描述

给出平面坐标上不在一条直线上三个点坐标 (x1,y1),(x2,y2),(x3,y3)(x_1,y_1),(x_2,y_2),(x_3,y_3)(x1,y1),(x2,y2),(x3,y3),坐标值是实数,且绝对值不超过 100.00,求围成的三角形周长。保留两位小数。

对于平面上的两个点 (x1,y1),(x2,y2)(x_1,y_1),(x_2,y_2)(x1,y1),(x2,y2),则这两个点之间的距离 dis=(x2−x1)2+(y2−y1)2dis=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}dis=(x2x1)2+(y2y1)2

输入格式

输入三行,第 iii 行表示坐标 (xi,yi)(x_i,y_i)(xi,yi),以一个空格隔开。

输出格式

输出一个两位小数,表示由这三个坐标围成的三角形的周长。

样例 #1

样例输入 #1

0 0
0 3
4 0

样例输出 #1

12.00

提示

数据保证,坐标均为实数且绝对值不超过 100100100,小数点后最多仅有 333 位。

所需变量
double a[3][2];//用来表示三个坐标

double sum = 0;//用来表示已经计算过的距离总和

思路:我们首先需要编写一个方法,就是计算两个坐标之间的距离

double jisuan(double a,double b,double c,double d){return sqrt(pow(abs(a-c),2)+pow(abs(b-d),2));
}

其中,(a,b)(c,d)分别代表着两个坐标,然后计算两个坐标之间的距离,sqrt是开根号的意思,abs是取绝对值的意思,pow(x,y)其中两个参数的含义是,取x的y次方。
然后分别计算三个点之间的距离,完整代码如下(编译器是dev,语言是C语言):

#include<iostream>
#include<math.h>
#include<iomanip>
using namespace std;
double jisuan(double a,double b,double c,double d){return sqrt(pow(abs(a-c),2)+pow(abs(b-d),2));
}
int main(){double a[3][2];double sum = 0;for(int i = 0;i<3;i++){for(int j = 0;j<2;j++){cin>>a[i][j];}}for(int i = 0;i<3;i++){sum += jisuan(a[(i+1)%3][0],a[(i+1)%3][1],a[i][0],a[i][1]);}//cout<<setprecision(2)<<sum<<endl;printf("%.2lf",sum);return 0;
}

在这里插入图片描述

http://www.lryc.cn/news/15312.html

相关文章:

  • 企业什么要建设自有即时通讯软件系统
  • LocalDNS
  • 线程池种类和拒绝策略
  • Python制作9行最简单音乐播放器?不,我不满足
  • 零基础小白如何学会数据分析?
  • 【Linux】vim的使用及常用快捷键(不会使用vim?有这篇文章就够了)
  • 刷完这19道leetcode二分查找算法,不信进不了大厂
  • 四、Plugin Request and Sometimes pads
  • 唤醒手腕 Java 后端 Springboot 结合 Redis 数据库学习笔记(更新中)
  • robotiq 2f 140安装在UR3机械臂后面在gazebo仿真中散架、抖动
  • 坐标系概念 四元数 欧拉角
  • 从0开始写Vue项目-SpringBoot整合Mybatis-plus实现登录、注册功能
  • K8s中gRpc通信负载均衡失效
  • 第三届区块链服务网络(BSN)全球合作伙伴大会在杭州成功举办
  • 人工智能基础部分13-LSTM网络:预测上证指数走势
  • 内网穿透/组网/设备上云平台EasyNTS上云网关的安装操作指南
  • 易点天下基于 StarRocks 全面构建实时离线一体的湖仓方案
  • Tomcat的类加载机制
  • 【shell 编程大全】数组,逻辑判断以及循环
  • Android13 Bluetooth更新
  • 手工测试混了5年,年底接到了被裁员的消息....
  • Umi框架
  • 教你学git
  • 【工作笔记】syslog,kern.log大量写入invalid cookie错误信息问题
  • 【C++】多线程
  • 0202插入删除-算法第四版红黑树-红黑树-数据结构和算法(Java)
  • vue 生成二维码插件 vue-qr使用方法
  • 网络工程课(二)
  • Pytorch并行计算(三): 梯度累加
  • 蓝桥杯入门即劝退(十八)最小覆盖子串(滑动窗口解法)