游客 Signup | Login
中文 | En

1330 - C语言程序设计教程(第三版)课后习题9.3

三角形面积=SQRT(S(S-a)(S-b)*(S-c)) 其中S=(a+b+c)/2,a、b、c为三角形的三边。定义两个带参的宏,一个用来求area,另一个宏用来求S。 写程序,在程序中用带实参的宏名来求面积area。

Input

a b c三角形的三条边,可以是小数。

Output

三角形面积,保留3位小数

Examples

Input

3 4 5

Output

6.000

Solution C++

#include<iostream>
#include<cmath>
#include<cstdio>
#define S(a,b,c)	(a+b+c)/2
#define AREA(a,b,c)	sqrt(S(a,b,c)*(S(a,b,c)-a)*(S(a,b,c)-b)*(S(a,b,c)-c))
using namespace std;
int main()
{
	double a,b,c;
	cin>>a>>b>>c;
	printf("%.3lf\n",AREA(a,b,c));
	return 0;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题