题目:

网格内三角形面积例题(NOIP-1002计算三角形面积)(1)

1002 三角形题目描述

代码:

#include<iostream> #include<iomanip> #include<cmath> using namespace std; int main(){ float a,b,c,p,area; cin>>a>>b>>c; if(a b>c && a c>b && b c>a) { p=(a b c)/2.0; area = sqrt(p*(p-a)*(p-b)*(p-c)); cout<<fixed<<setprecision(4)<<area<<endl; } return 0; }

确定思路:

  1. 判断是否为三角形
  2. 计算三角形面积公式:海伦公式

海伦公式:

已知三角形三边a,b,c,则

S=sqrt[p(p-a)(p-b)(p-c)] p=(a b c)/2

填坑1:数学公式

在c 语言里面,所有的数学公式放在了<cmath>头文件里面,需要加入头文件

#include<cmath>

填坑2:变量

在计算中涉及到了除法,所以一定要用浮点类型。

因此在做海伦公式的时候,一定要注意除以浮点类型的2.

p=(a b c)/2.0;

,