Aire du triangle = SQRT(S*(Sa)*(Sb)*(Sc)) où S=(a+b+c)/2, a, b, c sont les trois côtés du triangle. Définissez deux macros avec des paramètres, l'une est utilisée pour trouver la zone et l'autre macro est utilisée pour trouver S. Écrivez un programme et utilisez le nom de la macro avec les paramètres réels pour trouver la zone.
Format d'entrée
Les trois côtés du triangle ABC peuvent être des décimales.
Format de sortie
Aire d'un triangle à 3 décimales
Exemple de saisie
copie
3 4 5
Exemple de sortie
copie
6.000
#include<iostream>
#include<iomanip>
#include<cmath>
using namespace std;
#define GetS(a,b,c) ((a+b+c)/2.0)
#define GetArea(a,b,c){\
float S=GetS(a,b,c);\
float area=sqrt(S*(S-a)*(S-b)*(S-c));\
cout << fixed << setprecision(3) << area;\
}
/*这个"\"放在宏定义函数句子的末尾,表示本句结束,以及其他*/
int main() {
float a, b, c;
cin >> a >> b >> c;
GetArea(a,b,c);
return 0;
}