#include <stdio.h>
#include <math.h>
typedef struct{
double x;
double y;
}Point;
Point scan_point(int n);
double area_of(Point p1, Point p2);
double circumference_of(Point p1, Point p2);
int main(void){
Point p1, p2;
printf("左上隅と右下隅の座標を入力してください。\n");
p1 = scan_point(1);
p2 = scan_point(2);
double area = area_of(p1, p2);
double circum = circumference_of(p1, p2);
printf("周囲の長さ:%.2f\n", circum
);
return 0;
}
Point scan_point(int n){
Point p;
scanf("%lf %lf", &p.
x, &p.
y); printf("座標%d(%.2f, %.2f)\n", n
, p.
x, p.
y); return p;
}
double area_of(Point p1, Point p2){
double width
= fabs(p2.
x - p1.
x); double height
= fabs(p2.
y - p1.
y); return width * height;
}
double circumference_of(Point p1, Point p2){
double width
= fabs(p2.
x - p1.
x); double height
= fabs(p2.
y - p1.
y); return 2 * (width + height);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdHsKICAgIGRvdWJsZSB4OwogICAgZG91YmxlIHk7Cn1Qb2ludDsKClBvaW50IHNjYW5fcG9pbnQoaW50IG4pOwpkb3VibGUgYXJlYV9vZihQb2ludCBwMSwgUG9pbnQgcDIpOwpkb3VibGUgY2lyY3VtZmVyZW5jZV9vZihQb2ludCBwMSwgUG9pbnQgcDIpOwoKCmludCBtYWluKHZvaWQpewogICAgUG9pbnQgcDEsIHAyOwoKICAgIHByaW50Zigi5bem5LiK6ZqF44Go5Y+z5LiL6ZqF44Gu5bqn5qiZ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCXG4iKTsKCiAgICBwMSA9IHNjYW5fcG9pbnQoMSk7CiAgICBwMiA9IHNjYW5fcG9pbnQoMik7CgogICAgZG91YmxlIGFyZWEgPSBhcmVhX29mKHAxLCBwMik7CiAgICBkb3VibGUgY2lyY3VtID0gY2lyY3VtZmVyZW5jZV9vZihwMSwgcDIpOwoKICAgIHByaW50Zigi6Z2i56mN77yaJS4yZlxuIiwgYXJlYSk7CiAgICBwcmludGYoIuWRqOWbsuOBrumVt+OBle+8miUuMmZcbiIsIGNpcmN1bSk7CgogICAgcmV0dXJuIDA7Cn0KClBvaW50IHNjYW5fcG9pbnQoaW50IG4pewogICAgUG9pbnQgcDsKICAgIHNjYW5mKCIlbGYgJWxmIiwgJnAueCwgJnAueSk7CiAgICBwcmludGYoIuW6p+aomSVkKCUuMmYsICUuMmYpXG4iLCBuLCBwLngsIHAueSk7CiAgICByZXR1cm4gcDsKfQoKZG91YmxlIGFyZWFfb2YoUG9pbnQgcDEsIFBvaW50IHAyKXsKICAgIGRvdWJsZSB3aWR0aCA9IGZhYnMocDIueCAtIHAxLngpOwogICAgZG91YmxlIGhlaWdodCA9IGZhYnMocDIueSAtIHAxLnkpOwogICAgcmV0dXJuIHdpZHRoICogaGVpZ2h0Owp9CgoKZG91YmxlIGNpcmN1bWZlcmVuY2Vfb2YoUG9pbnQgcDEsIFBvaW50IHAyKXsKICAgIGRvdWJsZSB3aWR0aCA9IGZhYnMocDIueCAtIHAxLngpOwogICAgZG91YmxlIGhlaWdodCA9IGZhYnMocDIueSAtIHAxLnkpOwogICAgcmV0dXJuIDIgKiAod2lkdGggKyBoZWlnaHQpOwp9Cg==