#include <stdio.h>
#include <math.h>
typedef struct {
double x;
double y;
} Point;
Point scan_point();
double area_of(Point p1, Point p2);
double circumference_of(Point p1, Point p2);
int main() {
Point p1, p2;
double area, circum;
printf("左上隅と右下隅の座標を入力してください。\n"); p1 = scan_point();
p2 = scan_point();
area = area_of(p1, p2);
circum = circumference_of(p1, p2);
printf("周囲の長さ = %.2f\n", circum
);
return 0;
}
Point scan_point() {
Point p;
scanf("%lf %lf", &p.
x, &p.
y); return p;
}
double area_of(Point p1, Point p2) {
double a
= fabs(p2.
x - p1.
x); double b
= fabs(p2.
y - p1.
y); return a* b;
}
double circumference_of(Point p1, Point p2) {
double a
= fabs(p2.
x - p1.
x); double b
= fabs(p2.
y - p1.
y); return 2 * (a+ b);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+ICAKCnR5cGVkZWYgc3RydWN0IHsKICAgIGRvdWJsZSB4OwogICAgZG91YmxlIHk7Cn0gUG9pbnQ7CgpQb2ludCBzY2FuX3BvaW50KCk7CmRvdWJsZSBhcmVhX29mKFBvaW50IHAxLCBQb2ludCBwMik7CmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMik7CgppbnQgbWFpbigpIHsKICAgIFBvaW50IHAxLCBwMjsKICAgIGRvdWJsZSBhcmVhLCBjaXJjdW07CgogICAgcHJpbnRmKCLlt6bkuIrpmoXjgajlj7PkuIvpmoXjga7luqfmqJnjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIpOwogICAgcHJpbnRmKCLlt6bkuIrpmoXvvJoiKTsKICAgIHAxID0gc2Nhbl9wb2ludCgpOwoJcHJpbnRmKCIoJS4ybGYsIixwMS54KTsKCXByaW50ZigiJS4ybGYpIixwMS55KTsKIAlwcmludGYoIuWPs+S4i+mahe+8miIpOwogICAgcDIgPSBzY2FuX3BvaW50KCk7CglwcmludGYoIiglLjJsZiwiLHAyLngpOwoJcHJpbnRmKCIlLjJsZikiLHAyLnkpOwogICAgYXJlYSA9IGFyZWFfb2YocDEsIHAyKTsKICAgIGNpcmN1bSA9IGNpcmN1bWZlcmVuY2Vfb2YocDEsIHAyKTsKCiAgICBwcmludGYoIumdouepjSA9ICUuMmZcbiIsIGFyZWEpOwogICAgcHJpbnRmKCLlkajlm7Ljga7plbfjgZUgPSAlLjJmXG4iLCBjaXJjdW0pOwoKICAgIHJldHVybiAwOwp9CgpQb2ludCBzY2FuX3BvaW50KCkgewogICAgUG9pbnQgcDsKICAgIHNjYW5mKCIlbGYgJWxmIiwgJnAueCwgJnAueSk7CiAgICByZXR1cm4gcDsKfQoKZG91YmxlIGFyZWFfb2YoUG9pbnQgcDEsIFBvaW50IHAyKSB7CiAgICBkb3VibGUgYT0gZmFicyhwMi54IC0gcDEueCk7CiAgICBkb3VibGUgYj0gZmFicyhwMi55IC0gcDEueSk7CiAgICByZXR1cm4gYSogYjsKfQoKZG91YmxlIGNpcmN1bWZlcmVuY2Vfb2YoUG9pbnQgcDEsIFBvaW50IHAyKSB7CiAgICBkb3VibGUgYT0gZmFicyhwMi54IC0gcDEueCk7CiAgICBkb3VibGUgYj0gZmFicyhwMi55IC0gcDEueSk7CiAgICByZXR1cm4gMiAqIChhKyBiKTsKfQ==