#include <stdio.h>
#include <math.h>
typedef struct {
double x;
double y;
} Point;
Point scan_point(void) {
Point p;
scanf("%lf %lf", &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);
}
int main(void) {
Point p1, p2;
printf("左上隅と右下隅の座標を入力してください。\n");
p1 = scan_point();
p2 = scan_point();
double area = area_of(p1, p2);
double circum = circumference_of(p1, p2);
printf("周囲の長さ:%.2f\n", circum
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkb3VibGUgeDsKICAgIGRvdWJsZSB5Owp9IFBvaW50OwoKClBvaW50IHNjYW5fcG9pbnQodm9pZCkgewogICAgUG9pbnQgcDsKICAgIHNjYW5mKCIlbGYgJWxmIiwgJnAueCwgJnAueSk7CiAgICByZXR1cm4gcDsKfQoKZG91YmxlIGFyZWFfb2YoUG9pbnQgcDEsIFBvaW50IHAyKSB7CiAgICBkb3VibGUgd2lkdGggPSBmYWJzKHAyLnggLSBwMS54KTsKICAgIGRvdWJsZSBoZWlnaHQgPSBmYWJzKHAyLnkgLSBwMS55KTsKICAgIHJldHVybiB3aWR0aCAqIGhlaWdodDsKfQoKCmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMikgewogICAgZG91YmxlIHdpZHRoID0gZmFicyhwMi54IC0gcDEueCk7CiAgICBkb3VibGUgaGVpZ2h0ID0gZmFicyhwMi55IC0gcDEueSk7CiAgICByZXR1cm4gMiAqICh3aWR0aCArIGhlaWdodCk7Cn0KCmludCBtYWluKHZvaWQpIHsKICAgIFBvaW50IHAxLCBwMjsKICAgIHByaW50Zigi5bem5LiK6ZqF44Go5Y+z5LiL6ZqF44Gu5bqn5qiZ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCXG4iKTsKCiAgICBwcmludGYoIuW6p+aomTHvvJoiKTsKICAgIHAxID0gc2Nhbl9wb2ludCgpOwoKICAgIHByaW50Zigi5bqn5qiZMu+8miIpOwogICAgcDIgPSBzY2FuX3BvaW50KCk7CgogICAgZG91YmxlIGFyZWEgPSBhcmVhX29mKHAxLCBwMik7CiAgICBkb3VibGUgY2lyY3VtID0gY2lyY3VtZmVyZW5jZV9vZihwMSwgcDIpOwoKICAgIHByaW50Zigi6Z2i56mN77yaJS4yZlxuIiwgYXJlYSk7CiAgICBwcmludGYoIuWRqOWbsuOBrumVt+OBle+8miUuMmZcbiIsIGNpcmN1bSk7CgogICAgcmV0dXJuIDA7Cn0K