#include <stdio.h>
#include <math.h> // sqrt関数を使用するために必要
// 三角形の成立条件を判定する関数
int isValidTriangle(double a, double b, double c) {
// 三角形の成立条件
return (a + b > c) && (a + c > b) && (b + c > a);
}
// 三角形の面積をヘロンの公式で計算する関数
double calculateArea(double a, double b, double c) {
double s = (a + b + c) / 2.0; // 半周長
// ヘロンの公式を使用して面積を計算
return sqrt(s
* (s
- a
) * (s
- b
) * (s
- c
)); }
int main() {
double a, b, c; // 三角形の3辺の長さ
// ユーザーに3辺の入力を求める
printf("三角形の3辺の長さを入力してください (a, b, c): "); scanf("%lf %lf %lf", &a
, &b
, &c
);
// 三角形が成立するかをチェック
if (isValidTriangle(a, b, c)) {
// 面積を計算
double area = calculateArea(a, b, c);
printf("三角形の面積: %.2f\n", area
); } else {
printf("入力された3辺は三角形を形成できません。\n"); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+IC8vIHNxcnTplqLmlbDjgpLkvb/nlKjjgZnjgovjgZ/jgoHjgavlv4XopoEKCi8vIOS4ieinkuW9ouOBruaIkOeri+adoeS7tuOCkuWIpOWumuOBmeOCi+mWouaVsAppbnQgaXNWYWxpZFRyaWFuZ2xlKGRvdWJsZSBhLCBkb3VibGUgYiwgZG91YmxlIGMpIHsKICAgIC8vIOS4ieinkuW9ouOBruaIkOeri+adoeS7tgogICAgcmV0dXJuIChhICsgYiA+IGMpICYmIChhICsgYyA+IGIpICYmIChiICsgYyA+IGEpOwp9CgovLyDkuInop5LlvaLjga7pnaLnqY3jgpLjg5jjg63jg7Pjga7lhazlvI/jgafoqIjnrpfjgZnjgovplqLmlbAKZG91YmxlIGNhbGN1bGF0ZUFyZWEoZG91YmxlIGEsIGRvdWJsZSBiLCBkb3VibGUgYykgewogICAgZG91YmxlIHMgPSAoYSArIGIgKyBjKSAvIDIuMDsgLy8g5Y2K5ZGo6ZW3CiAgICAvLyDjg5jjg63jg7Pjga7lhazlvI/jgpLkvb/nlKjjgZfjgabpnaLnqY3jgpLoqIjnrpcKICAgIHJldHVybiBzcXJ0KHMgKiAocyAtIGEpICogKHMgLSBiKSAqIChzIC0gYykpOwp9CgppbnQgbWFpbigpIHsKICAgIGRvdWJsZSBhLCBiLCBjOyAvLyDkuInop5LlvaLjga4z6L6644Gu6ZW344GVCgogICAgLy8g44Om44O844K244O844GrM+i+uuOBruWFpeWKm+OCkuaxguOCgeOCiwogICAgcHJpbnRmKCLkuInop5LlvaLjga4z6L6644Gu6ZW344GV44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIChhLCBiLCBjKTogIik7CiAgICBzY2FuZigiJWxmICVsZiAlbGYiLCAmYSwgJmIsICZjKTsKCiAgICAvLyDkuInop5LlvaLjgYzmiJDnq4vjgZnjgovjgYvjgpLjg4Hjgqfjg4Pjgq8KICAgIGlmIChpc1ZhbGlkVHJpYW5nbGUoYSwgYiwgYykpIHsKICAgICAgICAvLyDpnaLnqY3jgpLoqIjnrpcKICAgICAgICBkb3VibGUgYXJlYSA9IGNhbGN1bGF0ZUFyZWEoYSwgYiwgYyk7CiAgICAgICAgcHJpbnRmKCLkuInop5LlvaLjga7pnaLnqY06ICUuMmZcbiIsIGFyZWEpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIuWFpeWKm+OBleOCjOOBnzPovrrjga/kuInop5LlvaLjgpLlvaLmiJDjgafjgY3jgb7jgZvjgpPjgIJcbiIpOwogICAgfQoKICAgIHJldHVybiAwOwp9Cg==