输入多组三角形边长,输出能构成三角形的各个三角形的面积(不能构成三角形的不输出)。要求:将计算三角形面积用函数实现,若不能构成三角形,函数返回值为0,否则返回面积值。提示:求三角形面积可使用海伦公式:S=sqrt(p(p-a)(p-b)(p-c)),其中p=(a+b+c)/2,sqrt为cmath头文件中声明的算术平方根函数。输入第一个数为三角形个数n,后续为n个三角形边长(要求定义为整型,否则不得分):输出为能构成三角形的各个三角形面积(实型数据)。
时间: 2023-11-22 21:53:48 浏览: 116
C语言输入三角形边长判断其类型并输出面积实例代码
5星 · 资源好评率100%
以下是实现该功能的代码,可以在本地编译器中运行:
```c++
#include <iostream>
#include <cmath>
using namespace std;
double area(int a, int b, int c){
double p = (a + b + c) / 2.0;
if(p <= a || p <= b || p <= c) return 0;
else return sqrt(p * (p-a) * (p-b) * (p-c));
}
int main(){
int n;
cin >> n;
while(n--){
int a, b, c;
cin >> a >> b >> c;
double s = area(a, b, c);
if(s != 0) cout << s << endl;
}
return 0;
}
```
其中,`area`函数用于计算三角形面积,如果无法构成三角形则返回0;`main`函数中,先输入三角形个数n,然后循环n次,每次输入三个整数a、b、c表示三角形的三条边长,调用`area`函数计算面积,如果面积不为0,则输出。
阅读全文