题目描述
关于三角形面积的计算,有两种计算方式:1/2*底(edge)*高(height);或者海伦公式(已知三边a,b,c,则p=(a+b+c)/2, s=根号下(p*(p-a)*(p-b)*(p-c)计算。试撰写重载函数Area,提供这两种计算方式,然后测试之
输入
3 4
1 2 3
输出
Area(x,y):6
Not a triangle!
样例输入
3 4 3 4 5
样例输出
Area(x,y):6 Area(a,b,c):6
#include <iostream>
#include <cmath>
using namespace std;//这句的意思是我们要使用一个空间std;
double Area(double a,double b)
{
return ((a*b)/2);
}
double Area(double a,double b,double c)
{
double p=(a+b+c)/2;
return (sqrt(p*(p-a)*(p-b)*(p-c)));
}
int main()
{
double x,y,a,b,c;
cin>>x>>y;
cout << "Area(x,y):"<<Area(x,y)<<endl;
cin >> a>> b>> c;
if(a+b>c&&a+c>b&&c+b>a)
cout << "Area(a,b,c):"<<Area(a,b,c)<<endl;
else
cout << "Not a triangle!" <<endl;
return 0;
}