fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. typedef struct
  5. {
  6. double x;
  7. double y;
  8. } Point;
  9.  
  10. Point scan_point(void)
  11. {
  12. Point p;
  13. printf("X座標を入力してください: ");
  14. scanf("%lf", &p.x);
  15. printf("Y座標を入力してください: ");
  16. scanf("%lf", &p.y);
  17. return p;
  18. }
  19.  
  20. double area_of(Point p1, Point p2)
  21. {
  22. double width = fabs(p2.x - p1.x);
  23. double height = fabs(p2.y - p1.y);
  24. return width * height;
  25. }
  26.  
  27. double circumference_of(Point p1, Point p2)
  28. {
  29. double width = fabs(p2.x - p1.x);
  30. double height = fabs(p2.y - p1.y);
  31. return 2 * (width + height);
  32. }
  33.  
  34. int main(void)
  35. {
  36. Point p1, p2;
  37. double area, circumference;
  38.  
  39. printf("左上隅の座標を入力してください。\n");
  40. p1 = scan_point();
  41.  
  42. printf("右下隅の座標を入力してください。\n");
  43. p2 = scan_point();
  44.  
  45. area = area_of(p1, p2);
  46. circumference = circumference_of(p1, p2);
  47.  
  48. printf("面積: %.2f\n", area);
  49. printf("周囲の長さ: %.2f\n", circumference);
  50.  
  51. return 0;
  52. }
Success #stdin #stdout 0s 5312KB
stdin
1.0
5.0
6.0
1.0
stdout
左上隅の座標を入力してください。
X座標を入力してください: Y座標を入力してください: 右下隅の座標を入力してください。
X座標を入力してください: Y座標を入力してください: 面積: 20.00
周囲の長さ: 18.00