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
展开
 我来答
bortower2001
2012-11-26 · 超过11用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:31.7万
展开全部
1)先找出X坐标最小的点为起始点
2)从起始点开始构造最小的外包凸多边形(顺时针构造则选择最左方的边,逆时针构造则选最右方的边)
3)在凸多边形中每个点和其不相邻的边构造的三角形中,找出周长最大的那一个
4)求出最大周长三角形的几何中心
5)该中心到最大三角的任意一顶点的长度就是所求半径
c1_wangyf
2012-11-26 · TA获得超过456个赞
知道小有建树答主
回答量:1142
采纳率:50%
帮助的人:217万
展开全部
自己试着把它写出来吗,不自己动手始终是不行的
追问
我要回早写了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b0e28cae4
2012-11-26 · TA获得超过4016个赞
知道大有可为答主
回答量:1275
采纳率:85%
帮助的人:595万
展开全部
怎么又是这个问题。。。
追问
这题你的那个代码,没看懂啊我刚发你邮箱了
你看下是不是你的代码
为什么运行不了啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式