#include <stdio.h>
#include <math.h>
// ヘロンの公式を使用して三角形の面積を計算する関数
double calculate_area(double a, double b, double c) {
double s = (a + b + c) / 2.0; // 半周長
return sqrt(s
* (s
- a
) * (s
- b
) * (s
- c
)); // ヘロンの公式 }
// 三角形が成立するかをチェックする関数
int is_triangle(double a, double b, double c) {
return (a + b > c) && (a + c > b) && (b + c > a);
}
int main() {
double a, b, c;
// ユーザーから辺の長さを入力
printf("三角形の辺の長さを入力してください (a, b, c): "); scanf("%lf %lf %lf", &a
, &b
, &c
);
// 三角形の成立条件を確認
if (!is_triangle(a, b, c)) {
printf("エラー: この辺の長さでは三角形を構成できません。\n"); return 1;
}
// 面積を計算して出力
double area = calculate_area(a, b, c);
printf("三角形の面積は: %.2f\n", area
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgovLyDjg5jjg63jg7Pjga7lhazlvI/jgpLkvb/nlKjjgZfjgabkuInop5LlvaLjga7pnaLnqY3jgpLoqIjnrpfjgZnjgovplqLmlbAKZG91YmxlIGNhbGN1bGF0ZV9hcmVhKGRvdWJsZSBhLCBkb3VibGUgYiwgZG91YmxlIGMpIHsKICAgIGRvdWJsZSBzID0gKGEgKyBiICsgYykgLyAyLjA7IC8vIOWNiuWRqOmVtwogICAgcmV0dXJuIHNxcnQocyAqIChzIC0gYSkgKiAocyAtIGIpICogKHMgLSBjKSk7IC8vIOODmOODreODs+OBruWFrOW8jwp9CgovLyDkuInop5LlvaLjgYzmiJDnq4vjgZnjgovjgYvjgpLjg4Hjgqfjg4Pjgq/jgZnjgovplqLmlbAKaW50IGlzX3RyaWFuZ2xlKGRvdWJsZSBhLCBkb3VibGUgYiwgZG91YmxlIGMpIHsKICAgIHJldHVybiAoYSArIGIgPiBjKSAmJiAoYSArIGMgPiBiKSAmJiAoYiArIGMgPiBhKTsKfQoKaW50IG1haW4oKSB7CiAgICBkb3VibGUgYSwgYiwgYzsKCiAgICAvLyDjg6bjg7zjgrbjg7zjgYvjgonovrrjga7plbfjgZXjgpLlhaXlipsKICAgIHByaW50Zigi5LiJ6KeS5b2i44Gu6L6644Gu6ZW344GV44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIChhLCBiLCBjKTogIik7CiAgICBzY2FuZigiJWxmICVsZiAlbGYiLCAmYSwgJmIsICZjKTsKCiAgICAvLyDkuInop5LlvaLjga7miJDnq4vmnaHku7bjgpLnorroqo0KICAgIGlmICghaXNfdHJpYW5nbGUoYSwgYiwgYykpIHsKICAgICAgICBwcmludGYoIuOCqOODqeODvDog44GT44Gu6L6644Gu6ZW344GV44Gn44Gv5LiJ6KeS5b2i44KS5qeL5oiQ44Gn44GN44G+44Gb44KT44CCXG4iKTsKICAgICAgICByZXR1cm4gMTsKICAgIH0KCiAgICAvLyDpnaLnqY3jgpLoqIjnrpfjgZfjgablh7rlipsKICAgIGRvdWJsZSBhcmVhID0gY2FsY3VsYXRlX2FyZWEoYSwgYiwgYyk7CiAgICBwcmludGYoIuS4ieinkuW9ouOBrumdouepjeOBrzogJS4yZlxuIiwgYXJlYSk7CgogICAgcmV0dXJuIDA7Cn0K