#include <stdio.h>
#include <math.h> // sqrt関数を使用するために必要
// 三角形の面積を計算する関数
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 ((a + b > c) && (a + c > b) && (b + c > a)) {
double area = calculateArea(a, b, c); // 面積を計算
printf("三角形の面積は %.2f です。\n", area
); } else {
printf("入力された3辺は三角形を形成できません。\n"); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+IC8vIHNxcnTplqLmlbDjgpLkvb/nlKjjgZnjgovjgZ/jgoHjgavlv4XopoEKCi8vIOS4ieinkuW9ouOBrumdouepjeOCkuioiOeul+OBmeOCi+mWouaVsApkb3VibGUgY2FsY3VsYXRlQXJlYShkb3VibGUgYSwgZG91YmxlIGIsIGRvdWJsZSBjKSB7CiAgICAvLyDljYrlkajplbfjga7oqIjnrpcKICAgIGRvdWJsZSBzID0gKGEgKyBiICsgYykgLyAyLjA7CiAgICAvLyDjg5jjg63jg7Pjga7lhazlvI/jgpLkvb/nlKjjgZfjgabpnaLnqY3jgpLoqIjnrpcKICAgIHJldHVybiBzcXJ0KHMgKiAocyAtIGEpICogKHMgLSBiKSAqIChzIC0gYykpOwp9CgppbnQgbWFpbigpIHsKICAgIGRvdWJsZSBhLCBiLCBjOyAvLyDkuInop5LlvaLjga4z6L6644Gu6ZW344GVCgogICAgLy8g44Om44O844K244O844GrM+i+uuOBruWFpeWKm+OCkuaxguOCgeOCiwogICAgcHJpbnRmKCLkuInop5LlvaLjga4z6L6644Gu6ZW344GV44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIChhLCBiLCBjKTogIik7CiAgICBzY2FuZigiJWxmICVsZiAlbGYiLCAmYSwgJmIsICZjKTsKCiAgICAvLyDkuInop5LlvaLjga7miJDnq4vmnaHku7bjgpLjg4Hjgqfjg4Pjgq8KICAgIGlmICgoYSArIGIgPiBjKSAmJiAoYSArIGMgPiBiKSAmJiAoYiArIGMgPiBhKSkgewogICAgICAgIGRvdWJsZSBhcmVhID0gY2FsY3VsYXRlQXJlYShhLCBiLCBjKTsgLy8g6Z2i56mN44KS6KiI566XCiAgICAgICAgcHJpbnRmKCLkuInop5LlvaLjga7pnaLnqY3jga8gJS4yZiDjgafjgZnjgIJcbiIsIGFyZWEpOwogICAgfSBlbHNlIHsKICAgICAgICBwcmludGYoIuWFpeWKm+OBleOCjOOBnzPovrrjga/kuInop5LlvaLjgpLlvaLmiJDjgafjgY3jgb7jgZvjgpPjgIJcbiIpOwogICAgfQoKICAgIHJldHVybiAwOwp9