C语言编程题,新手求指教这题代码该怎么写啊 老师没讲过晕
题目描述任给出平面上n个点的坐标,试求覆盖这n个点的圆的最小半径。解题思路:只要分别求出所有3点组合覆盖的最小圆,取其中半径最大者即为所求。那么确定覆盖3点的最小圆的步骤...
题目描述
任给出平面上n个点的坐标,试求覆盖这n个点的圆的最小半径。
解题思路:只要分别求出所有3点组合覆盖的最小圆,取其中半径最大者即为所求。 那么确定覆盖3点的最小圆的步骤可以如下:
(1) 若3点组成直角或钝角三角形,或3点共线,此时,最小圆的半径为三边中最长边的一半。
(2) 否则,3点组成锐角三角形,最小圆为3点的外接圆。
(3) 外接圆半径计算方法:
(a) 若3点构成一个三角形(即3点不共线),并设3点的坐标为 (x1,y1),(x2,y2),(x3,y3),求出两点(x1,y1)和(x2,y2)之间的距离L1=sqrt((x1-x2)^2+(y1-y2)^2), 同样求出(x1,y1)和(x3,y3)之间的距离L2,以及(x2,y2)和(x3,y3)之间的距离L3。
(b) 求出三角形半周长L=(L1+L2+L3)/2以及面积S=sqrt(L*(L-L1)*(L-L2)*(L-L3))。
(c) 根据公式4SR=L1*L2*L3,求外接圆半径R=L1*L2*L3/(4*S)。
输入
输入平面点的个数n以及n个点的坐标。
输出
输出覆盖这n个点的最小半径(小数点后保留4位)。
样例输入4
4.2,5.6
78.3,3.8
35.4,15.9
29.88,42.56
样例输出以上4个点的覆盖圆的最小半径为37.1463 展开
任给出平面上n个点的坐标,试求覆盖这n个点的圆的最小半径。
解题思路:只要分别求出所有3点组合覆盖的最小圆,取其中半径最大者即为所求。 那么确定覆盖3点的最小圆的步骤可以如下:
(1) 若3点组成直角或钝角三角形,或3点共线,此时,最小圆的半径为三边中最长边的一半。
(2) 否则,3点组成锐角三角形,最小圆为3点的外接圆。
(3) 外接圆半径计算方法:
(a) 若3点构成一个三角形(即3点不共线),并设3点的坐标为 (x1,y1),(x2,y2),(x3,y3),求出两点(x1,y1)和(x2,y2)之间的距离L1=sqrt((x1-x2)^2+(y1-y2)^2), 同样求出(x1,y1)和(x3,y3)之间的距离L2,以及(x2,y2)和(x3,y3)之间的距离L3。
(b) 求出三角形半周长L=(L1+L2+L3)/2以及面积S=sqrt(L*(L-L1)*(L-L2)*(L-L3))。
(c) 根据公式4SR=L1*L2*L3,求外接圆半径R=L1*L2*L3/(4*S)。
输入
输入平面点的个数n以及n个点的坐标。
输出
输出覆盖这n个点的最小半径(小数点后保留4位)。
样例输入4
4.2,5.6
78.3,3.8
35.4,15.9
29.88,42.56
样例输出以上4个点的覆盖圆的最小半径为37.1463 展开
展开全部
自己试着把它写出来吗,不自己动手始终是不行的
追问
我要回早写了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
怎么又是这个问题。。。
追问
这题你的那个代码,没看懂啊我刚发你邮箱了
你看下是不是你的代码
为什么运行不了啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询