已知三角形的三条中线长度求面积

题意:给出三角形的三条中线长度求面积。

#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;

int main()
{
    double n,m,p;
    while(cin>>n>>m>>p)
    {
        if((m+n+p)*(m+p-n)*(m+n-p)*(n+p-m)<=0||m<=0||n<=0||p<=0||m+p<=n||n+p<=m||m+n<=p) puts("-1.000");
        else printf("%.3lf\n",sqrt((m+n+p)*(m+p-n)*(m+n-p)*(n+p-m))/3.0);
    }
    return 0;
}
时间: 2024-11-01 12:07:49

已知三角形的三条中线长度求面积的相关文章

c++-输入三角形的三条边,求三角形的面积,用C++实现

问题描述 输入三角形的三条边,求三角形的面积,用C++实现 输入三角形的三条边,求三角形的面积,用C++实现 输入三角形的三条边,求三角形的面积,用C++实现 解决方案 #include using namespace std; int main() { double a,b,c,s; cout<<"请输入三角形的三边长度:"; cin>>a>>b>>c; if( a+b<=c || fabs(a-b)>=c) printf(

已知两个点的坐标,求它们的距离,请问编程怎么实现?是windows phone

问题描述 已知两个点的坐标,求它们的距离,请问编程怎么实现?是windows phone 已知两个点的坐标,求它们的距离,请问编程怎么实现?是windows phone 解决方案 http://blog.163.com/gobby_1110/blog/static/29281715201271745123282/ 解决方案二: 套用数学求两个点的距离的数学公式有那么难吗 解决方案三: 把两个点想象到坐标轴上,点A和点B 如果X相等,则AB距离是Y相减 如果Y相等,则AB距离是X相减 如果X相等,

算法研究:已知不重复的int集合,求最长递增子序列

问题背景:最近换工作面试,面试官问了一道编程题,大体是已知不重复的int集合,求最长递增子集合,这个集合可以不是连续的,但顺序呢不能乱. 比如说:{2, 7, 3, 13, 6, 8}里最长递增子集合的就是{2,3,6,8}. 这道题感觉很有意思,于是回家就用代码实现了一遍. 主要代码: package com.galaxy.fym.algorithm.maxsublist; import org.apache.commons.collections.CollectionUtils; impor

给定已知100个地址的经纬度 如何求出每个地址对应最近的三个地址?

问题描述 已知100个地址的经纬度:地址1地址2地址3...地址100根据经纬度求出地址1对应最近的三个地址? 解决方案 解决方案二:存到数据库里面..用SQL语句选择经纬度差值最小的3条记录即可.自己遍历计算也可以,就是麻烦解决方案三:求两点间的距离.再求个最值解决方案四:引用1楼xzhui的回复: 存到数据库里面..用SQL语句选择经纬度差值最小的3条记录即可.自己遍历计算也可以,就是麻烦 经纬度差值最小的这个是如何算呢?解决方案五:先把经纬度转换成投影坐标系再直接做加减运算解决方案六:引用

已知进程id句柄,如何获取图标

问题描述 已知进程id句柄,如何获取图标,求解答 解决方案 解决方案二:是做一个进程列表,想获取图标解决方案三:staticIconGetIconByProcessId(intprocessId){varp=Process.GetProcessById(processId);returnp==null?null:Icon.ExtractAssociatedIcon(p.MainModule.FileName);}解决方案四:publicstaticIcongetIcon(ProcesstempP

已知线段两端点和一固定长度,求第三点

问题描述 空间线段的两端(a点和b点)坐标已知为a=(x1,y1,z1),b=(x2,y2,z2)已知一固定长度为7.5求以a(x1,y1,z1)为端点,在ab方向上长度为7.5的点的坐标a__________________b________cc点可能在ab上,也可能在ab的延长线上.请各位大侠指点迷津,不胜感激! 解决方案 解决方案二:纯数学问题......解决方案三:汗,几何都忘光了.解决方案四:由a,b坐标求出一个ab方向的向量,再除以ab的长度,得出这个方向的单位向量(x,y,z),则

直角三角形三条边满足勾股定律。编写程序,找出三角边长度小于50的所有三角形。*/

/*直角三角形三条边满足勾股定律.编写程序,找出三角边长度小于50的所有三角形.*/ /*思路:设三边为a b c 玫举所有小于50的三角形.先测试能不能三角形.然后再测试勾股定律.*/ /*注意:直角三角形三边长3 4 5和4 3 5是同一个三角形.*/ #include <iostream> using namespace std; int main() { int a,b,c,i=0; int count=0; for(a=1;a<50;a++) //for(b=1;b<50

已知三个经纬度求中间点坐标

问题描述 点1:106.558806,29.711376点2:106.539259,29.671216点3:106.588701,29.673727已知这三个点求中心点坐标. 解决方案 解决方案二:除了正三角形,我没听说过其他三角形还有"中心"解决方案三:这是数学问题.你先告诉我,什么叫中心点,特别是对于非等边三角形.是重心?是各个顶点与底边中点连线交点?你想清楚你的中心点到底是什么,然后用初中数学知识就可以知道该怎么做了解决方案四:非等边三角形没有"中心"它有3个

采用UDP方式,同时向已知ip、同一端口的客户端发同一条信息?

问题描述 采用UDP方式,for循环同时向已知ip.同一端口的客户端发同一条信息,运行时会提示只能打开一次ip端口,问你是否继续处理?这么问题该如何处理?用多线程吗? 解决方案 解决方案二:你的bind语句重复执行了.解决方案三:privatevoidSendMsgToAll(ClassMsgmsg)//SendMsgToAll(ClassMsgmsg)//发送消息给所有用户{try{//QQClass.UDPSocketudp=newQQClass.UDPSocket();foreach(Sy