C++洛谷题解(8)

题号:P5708
题名:三角形面积
题目:一个三角形的三边长分别是 aa、bb、cc,那么它的面积为√p(p−a)(p−b)(p−c) ,其中 p= ½(a+b+c)。输入这三个数字,计算三角形的面积,四舍五入精确到 1 位小数。保证能构成三角形,0≤a,b,c≤1000,每个边长输入时不超过2位小数。

这里涉及到了开方的函数sqrt,掌握sqrt后一切就都轻松多了。首先求P的值吧,也就是把a、b和c全加在一起/2。然后求最终结果,直接调用题目中的公式即可。最后还有一个“坑”:保留1位小数的头文件,建议大家直接引用万能头,费时省力。
下面就是AC代码:

#include<bits/stdc++.h>//万能头文件
using namespace std;//开始
int main(){
	double a,b,c,p,ans;//double类型的变量
	cin>>a>>b>>c;//输入三角形的三个边的长度
	p=(a+b+c)/2;//求P的值,½就等于/2
	ans=sqrt(p*(p-a)*(p-b)*(p-c));//开方,整个代码的核心
	cout<<fixed<<steprecision(1)<<ans;//在以前说过这个,这里引用了万能头,否则需要引入iomanip库。强制保留一位小数
	return 0;//结束
}

由于上一章《小学数学N合一》太多了,所以就不多多叙述了。

posted @ 2022-07-19 19:47  GitTJBKBeta  阅读(77)  评论(0编辑  收藏  举报