求三角形面积
Description
已知一个三角形的三条边的边长分别为a,b,c,求这个三角形的面积s。
Input
三个正整数a,b,c,分别用空格隔开。0 < a,b,c < 1000,数据保证任意两条边长之和大于或等于第三条边。
Output
这个三角形的面积s,保留三位有效数字
Sample Input
3 4 5
Sample Output
6.000
HINT
开方使用sqrt函数,例如√25,写成sqrt(25),结果为5
python解法
import math
# 从标准输入读取三个浮点数
a, b, c = map(float, input().split())
p = (a + b + c) / 2
# 检查是否构成三角形
if a + b > c and a + c > b and b + c > a:
# 计算并输出三角形面积
s = math.sqrt(p * (p - a) * (p - b) * (p - c))
print("%.3f" % s)
else:
print("输入有误")
c++解法
#include <bits/stdc++.h>
using namespace std;
int main() {
double a, b, c, p;
// 从标准输入读取三个浮点数
cin >> a >> b >> c;
p = (a + b + c) / 2;
// 检查是否构成三角形
if (a + b > c && a + c > b && b + c > a) {
// 计算并输出三角形面积
double s = sqrt(p * (p - a) * (p - b) * (p - c));
cout << fixed << setprecision(3);
cout << s << endl;
} else {
cout << "输入有误" << endl;
}
return 0;
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
作者:小鱼
链接:https://www.52stu.com/?p=125
文章版权归作者所有,未经允许请勿转载。
链接:https://www.52stu.com/?p=125
文章版权归作者所有,未经允许请勿转载。
THE END