fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3. typedef struct{
  4. double x;
  5. double y;
  6. } Point;
  7. Point scan_point(void) {
  8. Point p;
  9. scanf("%lf", &p.x);
  10. scanf("%lf", &p.y);
  11. return p;
  12. }
  13. double area_of(Point p1, Point p2) {
  14. double w=fabs(p2.x-p1.x);
  15. double h=fabs(p2.y-p1.y);
  16. return w*h;
  17. }
  18. double circumference_of(Point p1, Point p2) {
  19. double w=fabs(p2.x-p1.x);
  20. double h=fabs(p2.y-p1.y);
  21. return 2*(w+h);
  22. }
  23.  
  24.  
  25. int main(void) {
  26. printf("左上隅と右下隅の座標を入力してください。\n");
  27. Point p1 = scan_point();
  28. printf("座標1(%.2f,%.2f)\n",p1.x,p1.y);
  29. Point p2 = scan_point();
  30. printf("座標2(%.2f,%.2f)\n",p2.x,p2.y);
  31. printf("面積: %.2f\n", area_of(p1,p2));
  32. printf("周囲の長さ: %.2f\n", circumference_of(p1,p2));
  33.  
  34. return 0;
  35. }
  36.  
Success #stdin #stdout 0s 5320KB
stdin
0 0 1 1
stdout
左上隅と右下隅の座標を入力してください。
座標1(0.00,0.00)
座標2(1.00,1.00)
面積: 1.00
周囲の長さ: 4.00