题目
海伦公式 |
难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
试题描述
|
数学老师给出三个不超过 1000 的正整数,表示三条线段的长,问这三条线段是否可以围成一个三角形,如果可以则计算并输出该三角形的面积,否则就输出“a,b,c 的值不能构成三角形”。提示:已知三角形的三边也使用海伦公式求三角形的面积。
|
输入
|
一行包括三个正整数,两两之间用一个空格分隔。
|
输出
|
按题目要求输出。
|
输入示例
|
样例1输入:3 4 5 样例2输入:1 2 3 |
输出示例
|
样例1输出:6 样例2输出:1,2,3的值不能构成三角形 |
分析
你要知道任意三角形的任意两边之和大于第三边,并了解海伦公式。
代码
#include<bits/stdc++.h>
using namespace std;
int a,b,c,p;
int main()
{
scanf("%d%d%d",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)//任意两边之和大于第三边。
{
p=(a+b+c)/2;
cout<<sqrt(p*(p-a)*(p-b)*(p-c));//海伦公式算面积。
}
else printf("%d,%d,%d的值不能构成三角形",a,b,c);
return 0;
}