Description
给定三角形的三边长度,根据海伦公式求出三角形面积。
海伦公式:S = √(p*(p-a)*(p-b)*(p-c))
其中a b c分别表示三角形的三条边的长度,p = (a+b+c)/2
Input
第一行是一个整数n,表示的是输入数据有n行(n < 100)。 接下来的n行,每行有3个数,表示三角形的三条边的长度。
Output
对每一个三角形,输出其面积,结果保留2位小数。
#include <iostream>
#include <math.h> //函数——头文件
#include <iomanip> //两位有效小数——头文件
using namespace std;
int main() {
int a, b, c; //三边
int n; //行数
int i;
float p;
float m[1000] = {}; //存放面积值
float S;
cin >> n; //输入行数
for(i = 0; i < n; i++){ //输入边并计算面积
cin >> a >> b >> c;
p = (a+b+c)/2;
S = sqrt(p*(p-a)*(p-b)*(p-c));
m[i] = S;
}
for(i = 0; i < n; i++){ //输出两位有效小数的面积值
cout << setiosflags(ios::fixed) << setprecision(2) << m[i] << endl;
}
return 0;
}
介绍如何输入有效数
#include <iomanip>
//保留小数点后2位
cout << setiosflags(ios::fixed) << setprecision(2) << val << endl;
//保留2位有效数字
cout << setprecision(2) << val << endl;
#include <iomanip>
using namespace std;
int main()
{
double val = 10.6;
cout << setprecision(2) << val << endl;//保留两位有效数字
cout << setiosflags(ios::fixed) << setprecision(2) << val << endl;//保留小数点后两位
cout << resetiosflags(ios::fixed) << setprecision(2) << val << endl;//清除ios::fixed
system("pause");
return 0;
}