• 締切済み

初心者な質問その4

******************************************** #include <math.h> double heron(double a,double b,double c){ double s,s2; s = a+b+c s /= 2.0; s2 = s*(s-a)*(s-b)*(s-c); if(s2 <= 0.0) return(-1); return sqrt(s2); } ******************************************** 三角形の問題です。(*引数a,b,cは三角形の三辺の長さ(正値)を与える) (1)戻り値(return value)が「-1」である場合何を意味するか (2)戻り値が正の場合、その値は何を意味するか (3)a,b,cに各々5,4,3を与えた場合の戻り値 についてお願いします。

みんなの回答

  • hitomura
  • ベストアンサー率48% (325/664)
回答No.1

(1)その3に回答しましたので、そちらの(1)を参照願います。 (2)戻り値として与えられる値は以下のようになります。 sqrt(s*(s-a)*(s-b)*(s-c)) ただし、s=(a+b+c)/2 この公式は、3角形の面積を求めるものです。 (3)(2)より、6.0になる…はずですが、桁落ちの結果数値が変わる可能性があります。 したがって、この回答は「自信なし」にさせていただきます。

関連するQ&A