0
已采纳
吴君昊
新手光能
新手光能
勾股定理,用(在sqrt内用)
还要用一个double变量存sqrt,示例:double d=sqrt(........);
最后printf,别忘了头文件
<iostream>
<cmath>
<cstdio>
祝你AC
0
许金夫
初级天翼
初级天翼
这道题要用到勾股定理:直角三角形中斜边的平方=两直角边平方的和
所以通过Xa-Xb的得到一个边,Ya-Yb得到另一个边,加起来再开方(sqrt)在保留小数就AC了
0
0
缪鲲鹏
新手光能
新手光能
我觉得许金夫讲的还挺好的, 难道是因为你不熟悉勾股定理吗?
我来给你讲一下:
首先要知道x为横轴,y为纵轴(应该都知道)
我们要求的也就是AB(c)这条线
题目给出:A(Xa,Ya),B(Xb,Yb)
BC(a)这条线的长度也就是abs(Xa-Xb)
AC(b)这条线的长度也就是abs(Ya-Yb)
根据勾股定理的公式a²+b²=c²
就可以求出AB(c)这条边长度是sqrt(c²),也就是sqrt(a²+b²),再简练一点也就变成了sqrt(pow(Xa-Xb,2)+pow(Ya-Yb, 2))
注意了,题目要求要保留三位小数!
知道这些后,事情就变得非常简单了!
printf("%.3lf", sqrt(pow(Xa-Xb,2)+pow(Ya-Yb, 2)));
缪鲲鹏在2020-02-29 23:28:17追加了内容
答案里没有abs()是因为一个数的平方一定是非负数
0