#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(p1.
y - p2.
y); return width * height;
}
double circumference_of(Point p1, Point p2)
{
double width
= fabs(p2.
x - p1.
x); double height
= fabs(p1.
y - p2.
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 cir = circumference_of(p1, p2);
printf("左上隅:(%.2f, %.2f)\n", p1.
x, p1.
y); printf("右下隅:(%.2f, %.2f)\n", p2.
x, p2.
y);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkb3VibGUgeDsKICAgIGRvdWJsZSB5Owp9IFBvaW50OwoKUG9pbnQgc2Nhbl9wb2ludCh2b2lkKQp7CiAgICBQb2ludCBwOwogICAgc2NhbmYoIiVsZiAlbGYiLCAmcC54LCAmcC55KTsKICAgIHJldHVybiBwOwp9Cgpkb3VibGUgYXJlYV9vZihQb2ludCBwMSwgUG9pbnQgcDIpCnsKICAgIGRvdWJsZSB3aWR0aCAgPSBmYWJzKHAyLnggLSBwMS54KTsKICAgIGRvdWJsZSBoZWlnaHQgPSBmYWJzKHAxLnkgLSBwMi55KTsKICAgIHJldHVybiB3aWR0aCAqIGhlaWdodDsKfQoKZG91YmxlIGNpcmN1bWZlcmVuY2Vfb2YoUG9pbnQgcDEsIFBvaW50IHAyKQp7CiAgICBkb3VibGUgd2lkdGggID0gZmFicyhwMi54IC0gcDEueCk7CiAgICBkb3VibGUgaGVpZ2h0ID0gZmFicyhwMS55IC0gcDIueSk7CiAgICByZXR1cm4gMiAqICh3aWR0aCArIGhlaWdodCk7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIFBvaW50IHAxLCBwMjsKCiAgICBwcmludGYoIuW3puS4iumaheOBqOWPs+S4i+maheOBruW6p+aomeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAglxuIik7CgogICAgcHJpbnRmKCLlt6bkuIrpmoXvvJoiKTsKICAgIHAxID0gc2Nhbl9wb2ludCgpOwoKICAgIHByaW50Zigi5Y+z5LiL6ZqF77yaIik7CiAgICBwMiA9IHNjYW5fcG9pbnQoKTsKCiAgICBkb3VibGUgYXJlYSA9IGFyZWFfb2YocDEsIHAyKTsKICAgIGRvdWJsZSBjaXIgID0gY2lyY3VtZmVyZW5jZV9vZihwMSwgcDIpOwoKICAgIHByaW50Zigi5bem5LiK6ZqF77yaKCUuMmYsICUuMmYpXG4iLCBwMS54LCBwMS55KTsKICAgIHByaW50Zigi5Y+z5LiL6ZqF77yaKCUuMmYsICUuMmYpXG4iLCBwMi54LCBwMi55KTsKCiAgICBwcmludGYoIumdouepje+8miUuMmZcbiIsIGFyZWEpOwogICAgcHJpbnRmKCLlkajlm7Ljga7plbfjgZXvvJolLjJmXG4iLCBjaXIpOwoKICAgIHJldHVybiAwOwp9Cgo=