洛谷 P5708 【深基2.习2】三角形面积(C)

题目描述

一个三角形的三边长分别是 aa、bb、cc,那么它的面积为 p ( p − a ) ( p − b ) ( p − c ) \sqrt{p(p-a)(p-b)(p-c)} p(pa)(pb)(pc) , 其中
p= 1 2 ( a + b + c ) \frac{1}{2}(a+b+c) 21(a+b+c) 。输入这三个数字,计算三角形的面积,四舍五入精确到 1 位小数
保证能构成三角形,0 ≤ a , b , c ≤ \leq a,b,c\leq a,b,c 1000,每个边长输入时不超过2位小数。

输入格式

输出格式

输入样例

3 4 5

输出样例

6.0

参考代码

//sqrt的依赖包 
#include "math.h"
#include "stdio.h"

int main() {
	
	//为减少计算过程中的精度损失,采用double 
	//三角形的第一条边
	double a; 
	//三角形的第二条边
	double b;
	//三角形的第三条边
	double c;
	//公式中的p 
	double p;
	
	//输入三角形的三条边 
	scanf("%lf %lf %lf",&a,&b,&c);
	
	//根据公式计算p的值
	p = (a + b + c) / 2;
	
	//根据公式直接计算三角形的面积,并输出
	printf("%.1f",sqrt(p * (p - a) * (p - b) * (p - c))); 
	
	return 0;
} 

你可能感兴趣的:(刷题)