fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. // 三角形の辺を定義する構造体
  5. typedef struct {
  6. double a;
  7. double b;
  8. double c;
  9. } Triangle;
  10.  
  11. // 三角形の面積を計算する関数
  12. double calculate_area(Triangle t) {
  13. double s = (t.a + t.b + t.c) / 2.0;
  14. return sqrt(s * (s - t.a) * (s - t.b) * (s - t.c));
  15. }
  16.  
  17. int main(void) {
  18. Triangle triangle;
  19. double area;
  20.  
  21. // ユーザー入力
  22. printf("三角形の辺を入力してください。\n");
  23. printf("a: ");
  24. scanf("%lf", &triangle.a);
  25. printf("b: ");
  26. scanf("%lf", &triangle.b);
  27. printf("c: ");
  28. scanf("%lf", &triangle.c);
  29.  
  30. // 妥当性チェック
  31. if (triangle.a + triangle.b <= triangle.c ||
  32. triangle.a + triangle.c <= triangle.b ||
  33. triangle.b + triangle.c <= triangle.a) {
  34. printf("エラー: 三角形が成立しません。\n");
  35. return 1; // 異常終了
  36. }
  37.  
  38. // 面積を計算
  39. area = calculate_area(triangle);
  40.  
  41. // 結果を出力
  42. printf("a:%.0f\n", triangle.a);
  43. printf("b:%.0f\n", triangle.b);
  44. printf("c:%.0f\n", triangle.c);
  45. printf("三角形の面積:%.6lf\n", area);
  46.  
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0.01s 5284KB
stdin
5 5 5
stdout
三角形の辺を入力してください。
a: b: c: a:5
b:5
c:5
三角形の面積:10.825318